Algorithm/Implement

๊ตฌํ˜„/ 21918๋ฒˆ/ ์ „๊ตฌ

์ •ํ˜ธ๋‚˜ 2024. 12. 25. 20:17

๐Ÿ“• ๋ฌธ์ œ

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

 

 

 

 

 

๐Ÿ“„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ’€์ด

 

1. ์ „๊ตฌ์˜ ๊ฐœ์ˆ˜ = N, ๋ช…๋ น์–ด ๊ฐœ์ˆ˜ = M

2. a,b,c๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋‹ด๋Š”๋‹ค

3. 1๋ฒˆ~4๋ฒˆ ๋ช…๋ น์–ด๋“ค ์ฝ”๋“œ

4. ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„์˜ ๋ณ€ํ™”๋œ ์ „๊ตฌ๋“ค ์ถœ๋ ฅ

 

 

 

๐Ÿ’ป ๋‚ด ์ฝ”๋“œ

 

n,m = map (int, input().split())

# n = ์ „๊ตฌ ๊ฐœ์ˆ˜
lamp = list(map(int, input().split()))
    
for i in range(m):
    a,b,c = map(int, input().split())

    # ์•„๋ž˜ ๋ช…๋ น์„ ๋ฐ˜๋ณตํ•ด์•ผํ•ด-> for๋ฌธ์•ˆ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ
    #1๋ฒˆ ๋ช…๋ น์–ด : b๋ฒˆ์งธ ์ „๊ตฌ๋ฅผ c๋กœ ๋ณ€๊ฒฝ
    if a == 1:
        lamp[b-1] = c
    #2๋ฒˆ ๋ช…๋ น์–ด : b๋ฒˆ์งธ๋ถ€ํ„ฐ c๋ฒˆ์จฐ ์ „๊ตฌ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋ณ€๊ฒฝ
    elif a == 2:
        for i in range(b-1,c):
            # ์ˆซ์ž ๋ฐ˜๋Œ€๋กœ ๋ณ€๊ฒฝ
            lamp[i] = 1 - lamp[i]

    #3๋ฒˆ ๋ช…๋ น์–ด : b๋ฒˆ์งธ๋ถ€ํ„ฐ c๋ฒˆ์จฐ ์ „๊ตฌ๋ฅผ ๋”(0์œผ๋กœ)
    elif a == 3:
        for i in range(b-1, c):
            lamp[i] = 0
    #4๋ฒˆ ๋ช…๋ น์–ด : b๋ฒˆ์งธ๋ถ€ํ„ฐ c๋ฒˆ์จฐ ์ „๊ตฌ๋ฅผ ์ผฌ(1๋กœ)
    elif a == 4:
        for i in range(b-1, c):
            lamp[i] = 1

# listํ˜• ์—†์• ์„œ ๋‚ด์šฉ๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ : *
print(*lamp)

 

๐Ÿ’ป ๋‹ต์•ˆ

  //

 

๐Ÿ“ ์ฐธ๊ณ ์ž๋ฃŒ

 

โ˜บ๏ธ ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ง€์‹

 

1. ๋ฆฌ์ŠคํŠธ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ : print(*lamp)

2. 0์„ 1๋กœ, 1์„ 0์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ

   #2๋ฒˆ ๋ช…๋ น์–ด : b๋ฒˆ์งธ๋ถ€ํ„ฐ c๋ฒˆ์จฐ ์ „๊ตฌ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋ณ€๊ฒฝ
    elif a == 2:
        for i in range(b-1,c):
            # ์ˆซ์ž ๋ฐ˜๋Œ€๋กœ ๋ณ€๊ฒฝ
            lamp[i] = 1 - lamp[i]

 

๐Ÿ˜‰ ๋ฆฌ๋ทฐ

๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ž‘ ๋ฌธ์ œ๋ž‘ ์ž˜ ์ดํ•ดํ•˜๋ฉด์„œ ํ’€๊ธฐ