jyamethyst21 님의 블로그

백준 14720번- '우유 축제' (PYTHON 풀이) 본문

CODING 💻

백준 14720번- '우유 축제' (PYTHON 풀이)

jyamethyst21 2026. 1. 22. 09:46

문제:

 

딸기-초코-바나나-딸기 순으로 우유를 마시는데, 이 순서를 지켰을 때 마실 수 있는 최대 우유의 개수를 구하는 문제이다.

 

풀이:

N = int(input())
seq = list(map(int,input().split()))

count = 0
se = [0,1,2]

for i in range(len(seq)):
    if seq[i] == se[i%3]:
        count += 1
    else:
        break
print(count)

처음에는 순서에 맞지 않으면 그 다음껀 아예 못 마신다고 이해해서 위와 같이 코드를 작성하였다.

근데 자꾸 틀려서 뭐가 문제지 싶어 서치를 했는데, 순서에 맞지 않으면 그 이후에는 못 마시는 게 아니라 몇칸 띄고서라도 순서가 또 맞는다면 count를 1씩 증가시켜주면 된다.

N = int(input())
seq = list(map(int,input().split()))

count = 0

for i in seq:
    if i == count % 3:
        count += 1
print(count)

이를 보완해서 위와 같이 코드를 작성하였다.

입력 개수를 N에 넣고, seq에 가게 순서를 입력 받는다. 그 후 마실 수 있는 수를 저장할 변수인 count를 선언한다.

반복문을 돌면서 가게 순서를 하나씩 꺼내서 볼건데, 이때 count를 기준으로 3으로 나눈 나머지와 비교한다. 초기값이 0이고 첫 순서가 0이면 일치하기 때문에 count를 1씩 더해주고, 그 다음에도 맞으면 1씩 더해준다. [0,1,2]는 총 3칸이기 때문에 이 자릿수인 3으로 나눈 나머지를 비교하면 무제한으로 0,1,2를 비교할 수 있을 것이다.

반복문이 끝나면 최종적으로 마실 수 있는 우유의 개수가 저장될 것이고 이를 출력하면 된다.