간단하게 풀었다.
반복문을 처음부터 끝까지 돌리면서 현재 전구가 켜져있으면 해당 인덱스를 더해주면서 반복문을 또 돌려서 풀었다.
1. 모든 전구가 꺼져있는지 확인
2-1. 모든 전구가 꺼져있으면 리턴
2-2. 모든 전구가 꺼져있지 않으면 현재 인덱스값을 더해주면서 전구의 스위치를 변경해준다.(Y -> N, N -> Y)
import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Array;
import java.util.*;
import java.util.List;
public class Main{
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String input = st.nextToken();
boolean[] light = new boolean[input.length()+1];
for(int i=0;i<input.length();i++){
if(input.charAt(i) == 'Y'){
light[i+1] = true;
}
}
// System.out.println(Arrays.toString(light));
if(check(light)) {
System.out.println(0);
System.exit(0);
}
int count = 0;
for(int i=1;i<light.length;i++){
//배수
int plus = i;
//꺼져있으면 트루
if(!light[i]) continue;
// System.out.println(i);
while(plus < light.length){
if(light[plus]){
light[plus] = false;
}else{
light[plus] = true;
}
plus += i;
}
count++;
if(check(light)) {
// System.out.println("true");
break;
}
}
System.out.println(count);
}
public static boolean check(boolean[] array){
for(int i=1;i<array.length;i++) {
// System.out.println(i);
if (array[i]) {
return false;
}
}
return true;
}
}