백준 - 단계별 문제풀기(2798번, 1316번)

유다송·2022년 8월 31일
0

2798번

n, m = map(int, input().split())
arr = list(map(int, input().split()))
result = 0
for i in range(n):
       for j in range(i+1, n):
           for k in range(j+1, n):
               if arr[i] + arr[j] + arr[k] > m:
                   continue
               else:
                   result = max(result, arr[i] + arr[j] + arr[k])
print(result)
           
  • 3개의 카드를 뽑아야 하므로 3중 for문을 사용한다.

1316번

n = int(input())
count = n
for i in range(n):
    word = input()
    for j in range(0, len(word)-1):
        if word[j] == word[j+1]:
            pass
        elif word[j] in word[j+1:]:
            count -= 1
            break
print(count)
        
  • n에 대해서 for문 돌려서 word를 input으로 받는다.
  • 그 안에서 0부터 word의 마지막 글자까지 for문을 또 돌려서 앞 글자가 뒷 글자가 같으면 pass.
  • 만약 지금 글자가 j+1 : 즉 두번째 글자 그 뒤에도 또 나온다면 전체에서 1을 빼준다.

0개의 댓글