이번 문제는 그리디 알고리즘을 이용하여 해결하였다. 우선 전구의 상태 문자열을 입력 받은 뒤에 문자열을 배열로 변환해주고, 배열의 길이만큼 for문을 돌며 현재 인덱스의 문자가 Y일 경우 인덱스의 배수에 위치하는 모든 전구의 상태를 반대로 바꿔주었고 이 과정에서 수를 세는 변수를 증가시킨다. 만약 배열이 모두 N이라면 종료시킨다.
light=str(input())
l=list(light)
cnt=0
for i in range(len(l)):
if l[i]=='Y':
cnt += 1
for j in range(i, len(l), i+1):
if l[j]=='Y':
l[j]='N'
else:
l[j]='Y'
if l==list('N'*len(l)):
break
print(cnt)