처음에는 모든 장치가 꺼져 있어요. 명령 [장치 번호, 연산]을 기록 순서대로 적용해요. 연산 0은 끄기, 1은 켜기, 2는 현재 상태를 반대로 바꾸기예요. 모든 명령 뒤 켜진 장치 수를 반환해요.
int solution(int devices, vector<vector<int>> commands)가 요구한 값을 반환하도록 잘못된 한 줄만 수정해 주세요.
매개변수와 반환값
devices는 120, commands의 행 수는 0100, 각 행 길이는 2예요. 장치 번호는 0devices-1, 연산은 0·1·2 중 하나예요. 반환값은 0devices인 정수예요.
예시
devices=3, commands={{0, 1}, {1, 2}, {1, 2}, {2, 1}}이면2를 반환해요. 1번 장치는 두 번 반전해 다시 꺼지고, 0번과 2번이 켜져 있어요.devices=2, commands={{1, 1}, {1, 2}, {0, 2}}이면1를 반환해요. 1번을 켠 뒤 반전해 끄고 0번을 반전해 켜므로 한 개예요.
실행용 입출력
첫 줄에 devices 명령 수 n, 다음 n줄에 장치 번호 연산을 입력해요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution의 한 줄이에요.
예시 입력
3 4 0 1 1 2 1 2 2 1
예상 결과
2
예시 입력
2 3 1 1 1 2 0 2
예상 결과
1
핵심 개념
array-1d: 위치별 상태를 따로 유지해요.conditionals: 조건과 정확한 경계를 판별해요.stl-vector: 벡터의 크기와 인덱스로 매개변수를 읽어요.