[백준 2138번/c++] 전구와 스위치
알고리즘 그리디 알고리즘 풀이 0번째 스위치를 누르는 경우와 0번째 스위치를 누르지 않는 경우를 나누어 생각한다. 1~n-1번째 스위치를 누를지 말지 여부를 결정하기 위해 for문을 돌린다. i번째 스위치를 누를지 말지를 결정하기 위해 i-1번째 전구의 상태와 목표로 하는 i-1번째 전구의 상태를 비교한다. 같으면 누르고 cnt++ 다르면 누르지 않는다. 현재 전구의 상태와 목표로 하는 전구의 상태가 같으면 cnt를 리턴하고 그렇지 않으면 2147000000을 리턴한다. 0번째 스위치를 누르는 경우와 0번째 스위치를 누르지 않는 경우 중 최소값을 골라 출력한다. 만약에 두 경우 모두 답이 나오지 않아 리턴값이 2147000000인 경우 -1을 출력한다. 전체 코드 #include #include usin..
알고리즘
2022. 11. 9. 21:23