Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 14720번- '우유 축제' (PYTHON 풀이) 본문
문제:

딸기-초코-바나나-딸기 순으로 우유를 마시는데, 이 순서를 지켰을 때 마실 수 있는 최대 우유의 개수를 구하는 문제이다.
풀이:
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를 비교할 수 있을 것이다.
반복문이 끝나면 최종적으로 마실 수 있는 우유의 개수가 저장될 것이고 이를 출력하면 된다.
'CODING 💻' 카테고리의 다른 글
| 백준 10179번- '쿠폰' (PYTHON 풀이) (0) | 2026.01.24 |
|---|---|
| 백준 3058번- '짝수를 찾아라' (PYTHON 풀이) (1) | 2026.01.23 |
| 백준 16435번- '스네이크버드' (PYTHON 풀이) (0) | 2026.01.21 |
| 백준 10102번- '개표' (PYTHON 풀이) (0) | 2026.01.20 |
| 백준 2083번- '럭비 클럽' (PYTHON 풀이) (0) | 2026.01.19 |
