https://www.acmicpc.net/problem/1244
์๊ฐ๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฐ ๋ฌธ์ . ํฐ๋ฆฐ๋๋กฌ ์ฒ๋ฆฌํ๋ ๊ฒ ์ฝํ ๊ฑฐ ๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ํน์ดํ๊ฒ ์ ๋ต์ ์ซ์ 20๊ฐ์ฉ ๋์ด์ ์ถ๋ ฅํด์ผ ํ๋ค. ๋๋ถ์ ์ค์๋ฅผ ๋ง์ด ํ๋ค.
์์ด๋์ด
- ์ผ๋จ ๋ฐฐ์ด์ ์์์ 0์ด๊ณ ์ค์์น ๋ฒํธ๋ 1๋ถํฐ ์์์ด๋๊น, ์ธ๋ฑ์ค๋ฅผ ๋จผ์ ๋งํ์ฃผ์.
๊ฐ๋จํ๊ฒ ๋ฐฐ์ด ๋งจ ์์ -1 ๊ฐ์ ๋๋ฏธ ๊ฐ์ ์ถ๊ฐํด ์คฌ๋ค.
- ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋๊ฐ ์ค๋ณต๋์ด ์ฌ์ฉ๋๋ฏ๋ก, ํจ์๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ค. ์ฒ์ ๋ฌธ์ ํ ๋๋ ๊ทธ๋ฅ ํ๊ธด ํ๋ค.
์ ์ฒด ์ฝ๋
import sys
N = int(input())
switchs = [-1] + [int(x) for x in sys.stdin.readline().rstrip().split()]
students = int(input())
def click(x):
if switchs[x] == 1:
switchs[x] = 0
else:
switchs[x] = 1
for _ in range(students):
commands = [int(x) for x in sys.stdin.readline().rstrip().split()]
gender, num = commands[0], commands[1]
if gender == 1: # ๋จ์๋ฉด
for i in range(num, N + 1, num):
click(i)
else:
click(num)
for k in range(N // 2):
if num + k > N or num - k < 1:
break
if switchs[num + k] == switchs[num - k]:
click(num - k)
click(num + k)
else:
break
sliced_lists = [switchs[i:i+20] for i in range(1, len(switchs), 20)]
for s in sliced_lists:
print(" ".join(map(str, s)))
์ฝ๋ ์ค๋ช
for _ in range(students):
commands = [int(x) for x in sys.stdin.readline().rstrip().split()]
gender, num = commands[0], commands[1]
if gender == 1: # ๋จ์๋ฉด
for i in range(num, N + 1, num):
click(i)
else:
click(num)
for k in range(N // 2):
if num + k > N or num - k < 1:
break
if switchs[num + k] == switchs[num - k]:
click(num - k)
click(num + k)
else:
break
์ฑ๋ณ์ด ๋จ์๋ฉด ๊ฐ๋จํ๋ค. for๋ฌธ ์คํ ์ numํฌ๊ธฐ๋งํผ ์ฃผ๋ฉด ๋๋ค.
์ฌ์๋ฉด ์ผ๋จ ์ ํ๋ ์ค์์น ๊ฑด๋ค๊ณ , ์ข์ฐ๊ฐ ๋์ผํ์ง ํ์ธํ๋ฉฐ ๋ฒ์๋ฅผ ๋๋ ค์ฃผ๋ฉด ๋๋ค.
sliced_lists = [switchs[i:i+20] for i in range(1, len(switchs), 20)]
for s in sliced_lists:
print(" ".join(map(str, s)))
์ถ๋ ฅ์ for๋ฌธ์ ์คํ ์ ์์ฉํด ๋ดค๋ค.
'๐งฉ Problem Solving > [๋ฐฑ์ค]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1254 ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ + ํฐ๋ฆฐ๋๋กฌ ํ์ธ๋ฒ (python ํ์ด์ฌ) (0) | 2025.02.08 |
---|---|
[๋ฐฑ์ค] 1213 ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (python ํ์ด์ฌ) (0) | 2025.02.08 |
[๋ฐฑ์ค] 4963 ์ฌ์ ๊ฐ์ (python ํ์ด์ฌ) (1) | 2025.01.24 |
[๋ฐฑ์ค] 30804 ๊ณผ์ผ ํํ๋ฃจ (python ํ์ด์ฌ) (0) | 2025.01.22 |
[๋ฐฑ์ค] 2563 ์์ข ์ด (python ํ์ด์ฌ) (0) | 2024.04.01 |