[코드업 100제] 바둑알 십자 뒤집기(설명) 파이썬

최대한·2020년 12월 29일
0
post-thumbnail
post-custom-banner
def flip(l, x, y):
    for i in range(19):
        l[x][i] = '1' if l[x][i] == '0' else '0'  # (6)
        l[i][y] = '1' if l[i][y] == '0' else '0'  
l=[]                                       	  # (1)
for i in range(19):
    l.append(input().split())   		  # (2) 
for i in range(int(input())):		  	  # (3)
    x,y=map(int, input().split())		  # (4)
    flip(l, x-1, y-1)				  # (5)
for i in range(19):
        print(' '.join(l[i]))			  # (7)

(1) 바둑판 준비.
(2) 19 x 19 배열을 받을 것이기 때문에 str 배열을 바로 차곡차곡 쌓아줍니다.
(3) 좌표 횟수를 바로 for문으로 넣어주고,
(4) 좌표를 받은 뒤 함수 실행.
(5) 인덱스이기 때문에 -1된 값을 넣어줍니다.
(6) 십자가 순회를 돌면서 0일경우 1, 그 외('1')일 경우 0으로 바꿔줍니다.
(7) 배열을 이쁘게 한줄 한줄 str 으로 출력해줍니다.

profile
Awesome Dev!
post-custom-banner

0개의 댓글