https://www.acmicpc.net/problem/21918
1. 난이도 브론즈2
상반기 코테가 슬슬 시작되려고 하고 있다.
요즘 구현이나 시뮬레이션 문제 빈도가 많이 늘어났다고 해서 쉬운 문제부터 천천히 다시 풀어갈 생각
2. 내가 작성한 코드
n,m = map(int, input().split()) #전구 개수, m명령어 개수
light = list(map(int, input().split()))
for _ in range(m):
op, num1, num2 = map(int, input().split())
if op == 1:
light[num1-1] = num2
elif op == 2:
for i in range(num1-1,num2):
if light[i] == 0:
light[i] = 1
else:
light[i] = 0
elif op == 3:
for i in range(num1 - 1, num2):
light[i] = 0
else:
for i in range(num1-1,num2):
light[i] = 1
for i in range(n):
print(light[i],end=" ")
- list의 range를 잘 확인해야한다.
- op가 3이나 4인 경우 굳이 for문을 사용할 필요 없이 주어진 범위에 0, 1을 곱해서 채워주면 된다.
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 20546번 🐜 기적의 매매법 🐜(python) (0) | 2023.04.13 |
---|---|
[백준] 14467번 소가 길을 건너간 이유1(python) (0) | 2023.04.12 |
[백준] 11265번 끝나지 않는 파티(python) (0) | 2023.03.29 |
[백준] 1707번 이분 그래프(python) (0) | 2023.03.20 |
[백준] 1325번 효율적인 해킹(python) (0) | 2023.03.20 |
댓글