๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง CodingTest

[Python] CodeUp ๊ธฐ์ดˆ 100์ œ_ 6096 : ๋ฐ”๋‘‘์•Œ ์‹ญ์ž ๋’ค์ง‘๊ธฐ

by ._.sori 2025. 6. 27.

 

♣ ๋ฌธ์ œ

๋ถ€๋ชจ๋‹˜์„ ๊ธฐ๋‹ค๋ฆฌ๋˜ ์˜์ผ์ด๋Š” ๊ฒ€์ •/ํฐ ์ƒ‰ ๋ฐ”๋‘‘์•Œ์„ ๋ฐ”๋‘‘ํŒ์— ๊ฝ‰ ์ฑ„์›Œ ๊น”์•„ ๋†“๊ณ  ๋†€๋‹ค๊ฐ€...

"์‹ญ(+)์ž ๋’ค์ง‘๊ธฐ๋ฅผ ํ•ด๋ณผ๊นŒ?"ํ•˜๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

์‹ญ์ž ๋’ค์ง‘๊ธฐ๋Š”
๊ทธ ์œ„์น˜์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ€๋กœ์ค„ ๋Œ์˜ ์ƒ‰์„ ๋ฐ˜๋Œ€(1->0, 0->1)๋กœ ๋ฐ”๊พผ ํ›„, 
๋‹ค์‹œ ๊ทธ ์œ„์น˜์— ์žˆ๋Š” ๋ชจ๋“  ์„ธ๋กœ์ค„ ๋Œ์˜ ์ƒ‰์„ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด๋‹ค.
์–ด๋–ค ์œ„์น˜๋ฅผ ๊ณจ๋ผ ์ง‘์ž ๋’ค์ง‘๊ธฐ๋ฅผ ํ•˜๋ฉด, ๊ทธ ์œ„์น˜๋ฅผ ์ œ์™ธํ•œ ๊ฐ€๋กœ์ค„๊ณผ ์„ธ๋กœ์ค„์˜ ์ƒ‰์ด ๋ชจ๋‘ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๋€๋‹ค.

๋ฐ”๋‘‘ํŒ(19 * 19)์— ํฐ ๋Œ(1) ๋˜๋Š” ๊ฒ€์ • ๋Œ(0)์ด ๋ชจ๋‘ ๊ฝ‰ ์ฑ„์›Œ์ ธ ๋†“์—ฌ์žˆ์„ ๋•Œ,
n๊ฐœ์˜ ์ขŒํ‘œ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์‹ญ(+)์ž ๋’ค์ง‘๊ธฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์ž.

 

 

♣ ์ž…๋ ฅ

๋ฐ”๋‘‘์•Œ์ด ๊น”๋ ค ์žˆ๋Š” ์ƒํ™ฉ์ด 19 * 19 ํฌ๊ธฐ์˜ ์ •์ˆ˜๊ฐ’์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.
์‹ญ์ž ๋’ค์ง‘๊ธฐ ํšŸ์ˆ˜(n)๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.
์‹ญ์ž ๋’ค์ง‘๊ธฐ ์ขŒํ‘œ๊ฐ€ ํšŸ์ˆ˜(n) ๋งŒํผ ์ž…๋ ฅ๋œ๋‹ค. ๋‹จ, n์€ 10์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

2

10 10
12 12

 

 

♣ ์ถœ๋ ฅ

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 

 

♣ ๋‚ดํ’€์ด

cross = [list(map(int, input().split())) for _ in range(19)]
n = int(input())

for i in range(n):
    x, y = map(int, input().split())
    
    # ๋ฆฌ์ŠคํŠธ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค
    # ๊ทธ๋Ÿฐ๋ฐ ์ž…๋ ฅ์€ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.
    # ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค ๊ฐ’์— ์ž…๋ ฅ๊ฐ’์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ๊ฐ’-1์„ ํ•ด์คฌ๋‹ค.
    x -= 1 
    y -= 1
    
    # 0์ธ ๊ฐ’์€ 1๋กœ ๋ณ€๊ฒฝ๋˜๋„๋ก ํ•˜๊ณ , 1์ธ ๊ฐ’์€ 0์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋„๋ก ํ•œ๋‹ค.
    # ๊ตณ์ด if๋ฌธ์œผ๋กœ 0์ธ์ง€ 1์ธ์ง€ ํ™•์ธํ•˜์ง€ ์•Š๊ณ , ๊ฐ’์˜ 1์„ ๋นผ์„œ 0๊ณผ 1์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.
    for j in range(19):
        cross[j][y] = 1 - cross[j][y]
        cross[x][j] = 1 - cross[x][j]

# ์–ธํŒจํ‚น ์—ฐ์‚ฐ์ž(*)๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ 
# ๊ฐ๊ฐ ๋”ฐ๋กœ๋”ฐ๋กœ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.
for i in range(19):
    print(*cross[i])

 

 

 

♣ ๋‹ต์•ˆ

d=[]
for i in range(20) :
  d.append([])
  for j in range(20) : 
    d[i].append(0)

for i in range(19) :
  a = input().split()
  for j in range(19) :
    d[i+1][j+1] = int(a[j])

n = int(input())
for i in range(n) :
  x,y=input().split()
  x=int(x)
  y=int(y)
  for j in range(1, 20) :
    if d[j][y]==0 :
      d[j][y]=1
    else :
      d[j][y]=0

    if d[x][j]==0 :
      d[x][j]=1
    else :
      d[x][j]=0

for i in range(1, 20) :
  for j in range(1, 20) :
    print(d[i][j], end=' ')
  print()