본문 바로가기
알고리즘/구현

[백준][Python] 21918번 전구

by 임짠짠 2022. 6. 21.
반응형
 

21918번: 전구

$N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. $1$은 전구가 켜져 있는 상태를 의미하고, $0$은 전구가 꺼져 있는 상태를

www.acmicpc.net

 

코드

n, m = map(int,input().split())
bulb = [0] + list(map(int,input().split()))
for _ in range(m):
	a,b,c = map(int, input().split())
	if a == 1:
		bulb[b] = c
	
	elif a == 2:  # 전구 상태 변경
		for i in range(b,c+1):
			if bulb[i] == 0:
				bulb[i] = 1
			elif bulb[i] == 1:
				bulb[i] = 0

	elif a == 3:  # 켜진 전구 끄기
		for i in range(b,c+1):
			if bulb[i] == 1:
				bulb[i] = 0
	elif a == 4:  # 꺼진 전구 켜기
		for i in range(b,c+1):
			if bulb[i] == 0:
				bulb[i] = 1

for i in range(1,n+1):
	print(bulb[i], end=' ')

 

반응형

댓글