프로그래밍 자료/Python

[파이썬] 바둑알 십자 뒤집기

미친사람 2021. 11. 16. 17:32
반응형

코드업 홈페이지 문제 풀이 기록

 

# 배열로 바둑판 열을 받아냄
# 뒤집기 횟수를 적음
# x y 부분을 입력 받고 해당 부분이 1일 경우 0, 0일 경우 1로 변경
# x 부터 시작 후 y 시작

# 바둑판 배열 생성
b = []                        # 기본 리스트 생성
for i in range(20):           # 0 - 19 (20) 번 반복
  b.append([])                # [] 안에 20번 []를 넣어줌 / [[], [], []...]
  for j in range(20):         # 0 - 19번 반복
    b[i].append(0)            # b.[0-19] 안에 0 을 20번 넣어줌 / [[0, 0, 0..], [0, 0, 0..]...]

for i in range(20):
  print("{} 번 배열".format(i))
  print(b[i])
print("============================================================================================")

for k in range(1, 20):                     # 1 - 19 (19) 번 반복
  n = list(map(int, input().split()))      # n 이라는 변수에 입력 받을 바둑알 배열
  for l in range(20):                      # 0 - 19 (20) 번 반복
    b[k][l] = n[l - 1]                     # 변수 대입

for i in range(20):
  print("{} 번 배열".format(i))
  print(b[i])
print("============================================================================================")

n = int(input())                           # 반복 횟수

for w in range(n):                         # n번 반복
  x, y = map(int, input().split())         # x, y 값 받기
  for a in range(1, 20):                   # 1 - 19 (19)번 반복
    if b[a][y] == 0:                       # b[a][y] 값이 0 이라면
      b[a][y] = 1                          # 1로 변경
    else:                                  # 조건에 맞지 않는다면
      b[a][y] = 0                          # 0 으로 변경

    if b[x][a] == 0:                       # 이하 동일
      b[x][a] = 1
    else:
      b[x][a] = 0

for i in range(20):
  print("{} 번 배열".format(i))
  print(b[i])
print("============================================================================================")

for s in range(1, 20):                     # 출력 관련
  for d in range(1, 20):
    print(b[s][d], end=" ")
  print()                                  # 줄바꿈
반응형