https://www.acmicpc.net/problem/15729
풀이
그리디 문제.
불이 켜진 상태를 주어진 상태와 똑같게 만들어야 한다.
스위치는 자신과 오른쪽 두 개 스위치를 한번에 누르게 된다.
왼쪽부터 탐색할 때 이전 스위치에는 영향을 주지 않는다는 것.
왼쪽부터 오른쪽으로 탐색하며 정답과 상태가 다른 스위치만 눌러가며 카운트했다.
메모리: 77944KB
시간: 440ms
언어: Java 11
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] after = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
after[i] = Integer.parseInt(st.nextToken());
}
int[] before = new int[N];
int ans = 0;
for (int i = 0; i < N; i++) {
if (before[i] != after[i]) {
ans++;
for (int j = i; j < N && j < i + 3; j++) {
before[j] = Math.abs(before[j] - 1);
}
}
}
System.out.println(ans);
}
}
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 23083: 꿀벌 승연이 - JAVA (0) | 2024.05.12 |
---|---|
[백준] 12850: 본대 산책2 - JAVA (0) | 2024.05.12 |
[백준] 1717: 집합의 표현 - JAVA (0) | 2024.05.12 |
[백준] 14890: 경사로 - JAVA (0) | 2024.05.12 |
[백준] 1535: 안녕 - JAVA (0) | 2024.05.12 |
[백준] 6198: 옥상 정원 꾸미기 - JAVA (0) | 2024.05.12 |