이해하는게 참 어려웠던 문제다. 앞서 풀었던 행렬처럼 (https://what-am-i.tistory.com/408) 그리디이기 때문에 한번만 돌면서 다르면 바꾸고 이런 식일거라고 생각했다. 그런데 이 문제는 i-1, i, i+1 이 변경이되고 가장 앞과 가장 뒤는 2개씩만 변경되니까 어떻게 나눠야할지 막막했다. 찾은 방법은 바로! 내 앞에 있는 전구와 동일한 위치의 목표로 하는 전구가 다르면 나를 변경시킨다! 앞에 있는 전구를 보기 때문에 첫번째 있는 전구는 볼 전구가 없다. 그래서 첫번재 전구를 키는 경우, 안키는 경우 두가지를 확인하여 최소값을 찾으면 된다. # 0은 1으로 , 1은 0으로 def change(num) : return 1 - num def flip(state,cnt) : # 첫번째 ..