ALGORITHM/PYTHON

백준 BAEKJOON 21918번 전구 [PYTHON/파이썬]

칼코
반응형

백준 BAEKJOON 21918번 전구 [PYTHON/파이썬]


<문제 출처>

https://www.acmicpc.net/problem/21918

 

21918번: 전구

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

www.acmicpc.net

<풀이>

단순 구현 문제이다.

1~4번 명령어에 맞게 구현해줬다.

리스트의 한 줄 출력을 위해 print(*리스트) 를 사용해줬다.

 

<코드>

N, M = map(int, input().split())
bulbs = list(map(int, input().split()))	# 전구 상태 리스트

for _ in range(M) :
    a, b, c = map(int, input().split())
    if a == 1 :	# 1번 명령어
        bulbs[b-1] = c
    elif a == 2 :	# 2번 명령어
        for i in range(b-1, c) :
            if bulbs[i] == 1 :
                bulbs[i] = 0 
            elif bulbs[i] == 0 :
                bulbs[i] = 1
    elif a == 3 :	# 3번 명령어
        for i in range(b-1, c) :
            bulbs[i] = 0
    elif a == 4 :	# 4번 명령어
        for i in range(b-1, c) :
            bulbs[i] = 1

print(*bulbs)
반응형