스위치 켜고 끄기 - 실버 4 (백준, 구현)

2023. 1. 13. 18:23코딩 테스트 준비

728x90
반응형

실패 코드

def change(idx):
  if state[idx] == 0:
    state[idx] = 1
  else:
    state[idx] = 0

N = int(input())
state = [-1] + list(map(int, input().split()))
students = int(input())

for _ in range(students):
    sig, num = map(int, input().split())
    if sig == 1:
      for i in range(num, N+1, num):
        change(i)
    else:
      for i in range(1, N//2):
        if num-i<0 or num+i>N:
          break
        if state[num-i] != state[num+i]:
          break
        change(num-i)
        change(num+i)
      change(num)
        
cnt = 0
for i in state[1:]:
  print(i, end=' ')
  cnt += 1
  if cnt == 20:
    cnt = 0
    print()

중요한 포인트는 남자일때 2배를 하는 것으로 범위를 +1 만큼 넘어갈 수 있으므로 range로 처리해줬다.

728x90
반응형