[백준] 14720 우유 축제 Java #그리디 알고리즘

monya·2023년 1월 2일
0

algorithms

목록 보기
1/2
post-thumbnail

문제 링크

백준 14720 우유 축제

문제 요약

영학이는
딸기우유(0) -> 초코우유(1) -> 바나나우유(2) -> 딸기우유(0) 순으로만 먹는다.
영학이가 마실 수 있는 우유의 최대 개수를 구하여라.

입력

첫째 줄에 우유 가게의 수 N이 주어진다. (1 ≤ N ≤ 1000)

둘째 줄에는 우유 가게 정보가 우유 거리의 시작부터 끝까지 순서대로 N개의 정수로 주어진다.

0은 딸기우유만을 파는 가게, 1은 초코우유만을 파는 가게, 2는 바나나우유만을 파는 가게를 뜻하며, 0, 1, 2 외의 정수는 주어지지 않는다.

출력

영학이가 마실 수 있는 우유의 최대 개수

예제

7
0 1 2 0 1 2 0

답: 7

반례

8
0 1 2 2 1 2 0 2

답 : 4

5
0 1 0 1 2

답 : 3

6
3 2 1 0 1 2

답 : 3

10
2 1 0 1 2 0 2 2 1 2

답 : 6

코드

import java.util.Scanner;

public class Q14720 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] milk = new int[N];
		int cnt = 0;
		int next = 0;

		for (int i = 0; i < N; i++) {
			milk[i] = sc.nextInt();

			if (milk[i] == 0 && next == 0) {
				cnt++;
				next = 1;
			} else if(milk[i] == 1 && next == 1) {
				cnt++;
				next = 2;
			} else if(milk[i] == 2 && next == 2) {
				cnt++;
				next = 0;
			}
		}
		System.out.println(cnt);
	}
}

코드 설명

milk와 next(다음에 올 숫자(우유))가 일치한 경우 cnt를 증가시켜줌

profile
공부 끄적임

0개의 댓글