https://www.acmicpc.net/problem/21918
21918번: 전구
$N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. $1$은 전구가 켜져 있는 상태를 의미하고, $0$은 전구가 꺼져 있는 상태를
www.acmicpc.net
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 |
댓글