[๋ฐฑ์ค€] 1244๋ฒˆ / ์Šค์œ„์น˜ ์ผœ๊ณ  ๋„๊ธฐ / ํŒŒ์ด์ฌ / python
Algorithm/Baekjoon

[๋ฐฑ์ค€] 1244๋ฒˆ / ์Šค์œ„์น˜ ์ผœ๊ณ  ๋„๊ธฐ / ํŒŒ์ด์ฌ / python

728x90
๋ฐ˜์‘ํ˜•

 

 

๐Ÿ’กsolutions )

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…์—์„œ ์ฃผ์–ด์ง„ ์ •๋ณด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฌธ์ œ

๐Ÿ’ฌ ๋‚จํ•™์ƒ์ธ ๊ฒฝ์šฐ, ์—ฌํ•™์ƒ์ธ ๊ฒฝ์šฐ ๋‚˜๋ˆ ์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด if_boy, if_girl ํ•จ์ˆ˜ ๊ตฌํ˜„ํ•จ

๐Ÿ’ฌ ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ์—์„œ ์Šค์œ„์น˜ ์ƒํƒœ ์ถœ๋ ฅ์ด 20๊ฐœ๊ฐ€ ๋„˜๋Š” ๊ฒฝ์šฐ 20๊ฐœ์”ฉ ๋Š์–ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์˜ํ•ด์•ผ ํ•จ

๐Ÿ‘จ‍๐Ÿ’ปcode )

import sys
def if_boy(num, switch_state):
    for i in range(1, len(switch_state)+1):
        if i % num == 0:
            if switch_state[i-1]:
                switch_state[i-1] = 0
            else:
                switch_state[i-1] = 1

def if_girl(num, switch_state):
    front = num-2
    back = num
    if switch_state[num-1]:
        switch_state[num-1] = 0
    else:
        switch_state[num-1] = 1
    while front >= 0 and back < len(switch_state):
        if switch_state[front] == switch_state[back]:
            if switch_state[front]:
                switch_state[front] = 0
                switch_state[back] = 0
            else:
                switch_state[front] = 1
                switch_state[back] = 1
            front -= 1
            back += 1
        else:
            break


input = sys.stdin.readline
switch = input()
switch_state = list(map(int, input().rstrip().split(' ')))
student = int(input())
for i in range(student):
    s, num = map(int, input().rstrip().split(' '))
    if s == 1:
        if_boy(num, switch_state)
    else:
        if_girl(num, switch_state)
        
if len(switch_state) > 20:
    answer = [switch_state[i:i+20] for i in range(0, len(switch_state), 20)]
    for i in answer:
        print(' '.join(map(str, i)))
else:       
    print(' '.join(map(str, switch_state)))

 

 

๐Ÿ“Œdescription )

 

 

1244๋ฒˆ: ์Šค์œ„์น˜ ์ผœ๊ณ  ๋„๊ธฐ

์ฒซ์งธ ์ค„์—๋Š” ์Šค์œ„์น˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์Šค์œ„์น˜ ๊ฐœ์ˆ˜๋Š” 100 ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์Šค์œ„์น˜์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ผœ์ ธ ์žˆ์œผ๋ฉด 1, ๊บผ์ ธ์žˆ์œผ๋ฉด 0์ด๋ผ๊ณ  ํ‘œ์‹œํ•˜๊ณ  ์‚ฌ์ด์— ๋นˆ์นธ์ด ํ•˜๋‚˜์”ฉ

www.acmicpc.net


๋ฌธ์ œ

1๋ถ€ํ„ฐ ์—ฐ์†์ ์œผ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์–ด์žˆ๋Š” ์Šค์œ„์น˜๋“ค์ด ์žˆ๋‹ค. ์Šค์œ„์น˜๋Š” ์ผœ์ ธ ์žˆ๊ฑฐ๋‚˜ ๊บผ์ ธ์žˆ๋Š” ์ƒํƒœ์ด๋‹ค. <๊ทธ๋ฆผ 1>์— ์Šค์œ„์น˜ 8๊ฐœ์˜ ์ƒํƒœ๊ฐ€ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ‘1’์€ ์Šค์œ„์น˜๊ฐ€ ์ผœ์ ธ ์žˆ์Œ์„, ‘0’์€ ๊บผ์ ธ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•™์ƒ ๋ช‡ ๋ช…์„ ๋ฝ‘์•„์„œ, ํ•™์ƒ๋“ค์—๊ฒŒ 1 ์ด์ƒ์ด๊ณ  ์Šค์œ„์น˜ ๊ฐœ์ˆ˜ ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚˜๋ˆ„์–ด์ฃผ์—ˆ๋‹ค. ํ•™์ƒ๋“ค์€ ์ž์‹ ์˜ ์„ฑ๋ณ„๊ณผ ๋ฐ›์€ ์ˆ˜์— ๋”ฐ๋ผ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์Šค์œ„์น˜๋ฅผ ์กฐ์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.

๋‚จํ•™์ƒ์€ ์Šค์œ„์น˜ ๋ฒˆํ˜ธ๊ฐ€ ์ž๊ธฐ๊ฐ€ ๋ฐ›์€ ์ˆ˜์˜ ๋ฐฐ์ˆ˜์ด๋ฉด, ๊ทธ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พผ๋‹ค. ์ฆ‰, ์Šค์œ„์น˜๊ฐ€ ์ผœ์ ธ ์žˆ์œผ๋ฉด ๋„๊ณ , ๊บผ์ ธ ์žˆ์œผ๋ฉด ์ผ ๋‹ค. <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์€ ์ƒํƒœ์—์„œ ๋‚จํ•™์ƒ์ด 3์„ ๋ฐ›์•˜๋‹ค๋ฉด, ์ด ํ•™์ƒ์€ <๊ทธ๋ฆผ 2>์™€ ๊ฐ™์ด 3๋ฒˆ, 6๋ฒˆ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พผ๋‹ค.

์—ฌํ•™์ƒ์€ ์ž๊ธฐ๊ฐ€ ๋ฐ›์€ ์ˆ˜์™€ ๊ฐ™์€ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์€ ์Šค์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ขŒ์šฐ๊ฐ€ ๋Œ€์นญ์ด๋ฉด์„œ ๊ฐ€์žฅ ๋งŽ์€ ์Šค์œ„์น˜๋ฅผ ํฌํ•จํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์ฐพ์•„์„œ, ๊ทธ ๊ตฌ๊ฐ„์— ์†ํ•œ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‘ ๋ฐ”๊พผ๋‹ค. ์ด๋•Œ ๊ตฌ๊ฐ„์— ์†ํ•œ ์Šค์œ„์น˜ ๊ฐœ์ˆ˜๋Š” ํ•ญ์ƒ ํ™€์ˆ˜๊ฐ€ ๋œ๋‹ค.

์Šค์œ„์น˜ ๋ฒˆํ˜ธ์Šค์œ„์น˜ ์ƒํƒœ

โ‘  โ‘ก โ‘ข โ‘ฃ โ‘ค โ‘ฅ โ‘ฆ โ‘ง
0 1 0 1 0 0 0 1

<๊ทธ๋ฆผ 1>

์˜ˆ๋ฅผ ๋“ค์–ด <๊ทธ๋ฆผ 2>์—์„œ ์—ฌํ•™์ƒ์ด 3์„ ๋ฐ›์•˜๋‹ค๋ฉด, 3๋ฒˆ ์Šค์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ 2๋ฒˆ, 4๋ฒˆ ์Šค์œ„์น˜์˜ ์ƒํƒœ๊ฐ€ ๊ฐ™๊ณ  1๋ฒˆ, 5๋ฒˆ ์Šค์œ„์น˜์˜ ์ƒํƒœ๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ, <๊ทธ๋ฆผ 3>๊ณผ ๊ฐ™์ด 1๋ฒˆ๋ถ€ํ„ฐ 5๋ฒˆ๊นŒ์ง€ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‘ ๋ฐ”๊พผ๋‹ค. ๋งŒ์•ฝ <๊ทธ๋ฆผ 2>์—์„œ ์—ฌํ•™์ƒ์ด 4๋ฅผ ๋ฐ›์•˜๋‹ค๋ฉด, 3๋ฒˆ, 5๋ฒˆ ์Šค์œ„์น˜์˜ ์ƒํƒœ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋ฏ€๋กœ 4๋ฒˆ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋งŒ ๋ฐ”๊พผ๋‹ค.

์Šค์œ„์น˜ ๋ฒˆํ˜ธ์Šค์œ„์น˜ ์ƒํƒœ

โ‘  โ‘ก โ‘ข โ‘ฃ โ‘ค โ‘ฅ โ‘ฆ โ‘ง
0 1 1 1 0 1 0 1

<๊ทธ๋ฆผ 2>

์Šค์œ„์น˜ ๋ฒˆํ˜ธ์Šค์œ„์น˜ ์ƒํƒœ

โ‘  โ‘ก โ‘ข โ‘ฃ โ‘ค โ‘ฅ โ‘ฆ โ‘ง
1 0 0 0 1 1 0 1

<๊ทธ๋ฆผ 3>

์ž…๋ ฅ์œผ๋กœ ์Šค์œ„์น˜๋“ค์˜ ์ฒ˜์Œ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๊ฐ ํ•™์ƒ์˜ ์„ฑ๋ณ„๊ณผ ๋ฐ›์€ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•™์ƒ๋“ค์€ ์ž…๋ ฅ๋˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž๊ธฐ์˜ ์„ฑ๋ณ„๊ณผ ๋ฐ›์€ ์ˆ˜์— ๋”ฐ๋ผ ์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ์—ˆ์„ ๋•Œ, ์Šค์œ„์น˜๋“ค์˜ ๋งˆ์ง€๋ง‰ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์—๋Š” ์Šค์œ„์น˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์Šค์œ„์น˜ ๊ฐœ์ˆ˜๋Š” 100 ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ์Šค์œ„์น˜์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ผœ์ ธ ์žˆ์œผ๋ฉด 1, ๊บผ์ ธ์žˆ์œผ๋ฉด 0์ด๋ผ๊ณ  ํ‘œ์‹œํ•˜๊ณ  ์‚ฌ์ด์— ๋นˆ์นธ์ด ํ•˜๋‚˜์”ฉ ์žˆ๋‹ค. ์…‹์งธ ์ค„์—๋Š” ํ•™์ƒ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•™์ƒ์ˆ˜๋Š” 100 ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋„ท์งธ ์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ํ•œ ์ค„์— ํ•œ ํ•™์ƒ์˜ ์„ฑ๋ณ„, ํ•™์ƒ์ด ๋ฐ›์€ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‚จํ•™์ƒ์€ 1๋กœ, ์—ฌํ•™์ƒ์€ 2๋กœ ํ‘œ์‹œํ•˜๊ณ , ํ•™์ƒ์ด ๋ฐ›์€ ์ˆ˜๋Š” ์Šค์œ„์น˜ ๊ฐœ์ˆ˜ ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ํ•™์ƒ์˜ ์„ฑ๋ณ„๊ณผ ๋ฐ›์€ ์ˆ˜ ์‚ฌ์ด์— ๋นˆ์นธ์ด ํ•˜๋‚˜์”ฉ ์žˆ๋‹ค.

์ถœ๋ ฅ

์Šค์œ„์น˜์˜ ์ƒํƒœ๋ฅผ 1๋ฒˆ ์Šค์œ„์น˜์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ์Šค์œ„์น˜๊นŒ์ง€ ํ•œ ์ค„์— 20๊ฐœ์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 21๋ฒˆ ์Šค์œ„์น˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด ์Šค์œ„์น˜์˜ ์ƒํƒœ๋Š” ๋‘˜์งธ ์ค„ ๋งจ ์•ž์— ์ถœ๋ ฅํ•œ๋‹ค. ์ผœ์ง„ ์Šค์œ„์น˜๋Š” 1, ๊บผ์ง„ ์Šค์œ„์น˜๋Š” 0์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , ์Šค์œ„์น˜ ์ƒํƒœ ์‚ฌ์ด์— ๋นˆ์นธ์„ ํ•˜๋‚˜์”ฉ ๋‘”๋‹ค.




 

๋ฐ˜์‘ํ˜•