Problem Solving/Baekjoon
[백준] 12927 배수 스위치 - Greedy / Java
graycode
2023. 5. 12. 19:39
• 문제 링크
12927번: 배수 스위치
첫째 줄에 전구의 상태가 1번 전구부터 차례대로 주어진다. Y는 전구가 켜 있는 경우, N은 전구가 꺼져있는 경우이다. 전구의 개수는 1보다 크거나 같고 1,000보다 작거나 같은 자연수이다.
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder(" " + br.readLine());
int cnt = 0;
for (int i = 1; i < sb.length(); i++) {
if (sb.charAt(i) == 'Y') {
cnt++;
for (int j = i; j < sb.length(); j += i)
sb.setCharAt(j, sb.charAt(j) == 'Y' ? 'N' : 'Y');
}
}
bw.write(String.valueOf(cnt));
bw.flush();
}
}