1096 : [기초-2차원배열] 바둑판에 흰 돌 놓기
문제 설명
기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다.
오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가
"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때,
n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
참고
가로번호, 세로번호를 사용할 수 있는 2차원 배열을 사용하면
이러한 형태를 쉽게 기록하고 사용할 수 있다. 물론 더 확장한 n차원 배열도 만들 수 있다.
입력
바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다.
둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다.
n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 같은 좌표는 입력되지 않는다.
출력
흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.
입력 예시
5 1 1 2 2 3 3 4 4 5 5
출력 예시
풀이
matrix=[[0 for col in range(19)] for row in range(19)]
a=int(input())
for i in range(a):
m,n=map(int,input().split())
matrix[m-1][n-1]=1
for k in range(19):
for l in range(19):
print(matrix[k][l], end=" ")
print()
*리스트 컴프리헨션*
변수명=[식 또는 값 for i in 범위]
ex1)리스트 길이를 n으로 지정하고 0으로 초기화
list = [0 for i in range(n)]
ex2)2차원 배열을 0으로 초기화
matrix = [[0 for col in range(n)] for row in range(n)]
1097 : [기초-2차원배열] 바둑알 십자 뒤집기
문제 설명
부모님을 기다리던 영일이는 검정/흰 색 바둑알을 바둑판에 꽉 채워 깔아 놓고 놀다가...
"십(+)자 뒤집기를 해볼까?"하고 생각했다.
바둑판(19 * 19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때,
n개의 좌표를 입력받아 십(+)자 뒤집기한 결과를 출력하는 프로그램을 작성해보자.
참고
가로 번호, 세로 번호를 사용할 수 있는 2차원 배열을 사용하면
이러한 형태를 쉽게 기록하고 사용할 수 있다. 물론 더 확장한 n차원 배열도 만들 수 있다.
입력
바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다.
십자 뒤집기 횟수(n)가 입력된다.
십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다.
출력
십자 뒤집기 결과를 출력한다.
입력 예시
2
10 10
12 12
출력 예시
풀이
matrix=[[0 for i in range(19)]for j in range(19)]
for k in range(19):
matrix[k]=input().split()
n=int(input())
for l in range(n):
x,y=input().split()
x,y=int(x)-1,int(y)-1
for i in range(19):
matrix[x][i]=int(matrix[x][i])^1
for j in range(19):
matrix[j][y]=int(matrix[j][y])^1
for i in range(19):
for j in range(19):
print(matrix[i][j], end=" ")
print()
^: XOR 연산자 (a^b: a와 b의 논리값이 다를때만 참)
'Algorithm > 코드업 기초100제' 카테고리의 다른 글
코드업(CodeUp) 기초100제 1099 성실한 개미 풀이 | Python-2차원 배열 (0) | 2021.02.10 |
---|---|
코드업(CodeUp) 기초100제 1098 풀이 | Python (0) | 2021.02.10 |
코드업(CodeUp) 기초100제 1081~1095 풀이 | Python (0) | 2021.02.10 |
코드업(CodeUp) 기초100제 1061~1080 풀이 | Python (0) | 2021.02.10 |
코드업(CodeUp) 기초100제 1041~1060 풀이 | Python (0) | 2021.02.10 |