๐ก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 )
๋ฌธ์
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์ผ๋ก ํ์ํ๊ณ , ์ค์์น ์ํ ์ฌ์ด์ ๋น์นธ์ ํ๋์ฉ ๋๋ค.
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ์ฃผ๋ชฝ / 1940๋ฒ / ํ์ด์ฌ / Python (0) | 2021.10.31 |
---|---|
[๋ฐฑ์ค] 20055๋ฒ / ์ปจ๋ฒ ์ด์ด ๋ฒจํธ ์์ ๋ก๋ด / ํ์ด์ฌ / Python (0) | 2021.10.23 |
[๋ฐฑ์ค] 10815๋ฒ / ์ซ์ ์นด๋ / ํ์ด์ฌ / python (0) | 2021.10.13 |
[๋ฐฑ์ค] 2979๋ฒ / ํธ๋ญ ์ฃผ์ฐจ / ํ์ด์ฌ / Python (0) | 2021.10.07 |
[๋ฐฑ์ค] 1173๋ฒ / ์ด๋ / ํ์ด์ฌ / Python (0) | 2021.10.06 |