Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- insertion sort
- Stack
- JSON
- C programming
- Serialization
- stream
- 윤성우의 열혈 자료구조
- 이스케이프 문자
- 알기쉬운 알고리즘
- R
- Selection Sorting
- buffer
- s
- 윤성우 열혈자료구조
- datastructure
- Graph
- coding test
- Algorithm
- 이것이 자바다
- 혼자 공부하는 C언어
- C 언어 코딩 도장
- 메모리구조
- list 컬렉션
Archives
- Today
- Total
Engineering Note
[BOJ:14720] 우유축제 본문
문제
https://www.acmicpc.net/problem/14720
문제해결방법
- 영학이가 우유를 마시는 규칙은 딸기(0)->초코(1)->바나나(2)->딸기(0)->초코(1)->바나나(2) 순서이다. 이를 숫자로 표현하기 위해서는 나머지 연산을 이용해서 이번에 마셔야할 우유를 표시하는 방법을 사용했다.
- x번째 우유가게에 파는 우유와 현재 마실 우유를 비교하고 둘이 같다면 우유마신 횟수, 우유순서를 가리키는 변수를 증가시킨다.(이때 우유순서를 가리키는 변수가 계속 증가하면 우유순서의 인덱스를 벗어나기 때문에 나머지 연산을 통해 인덱스를 벗어나지 않도록 해준다.)
- x번째 우유가게에 파는 우유와 현재 마실 우유를 비교하고 둘이 같지 않다면 다음 가게를 확인한다.
- 위 단계를 가게 수만큼 반복한다.
코드
import sys
input = sys.stdin.readline
milks = [0,1,2]
cnt = 0
number_of_markets = int(input())
market_milk = list(map(int,input().split()))
milk_sequence = 0
for market_number in range(number_of_markets):
if market_milk[market_number] == milks[milk_sequence]:
cnt += 1
milk_sequence += 1
milk_sequence %= 3
print(cnt)
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ:2720] 세탁소 사장 동혁 (0) | 2021.11.09 |
---|---|
[BOJ:2828] 사과 담기 게임 (0) | 2021.11.09 |
[BOJ:1292] 쉽게 푸는 문제 (0) | 2021.10.31 |
[BOJ:1966] 프린터 큐 (0) | 2021.10.30 |
[BOJ:2468] 안전 영역 (0) | 2021.10.29 |
Comments