격자판을 만들고 가로세로 막대의 길이를 정해서 수를 바꾸는 문제이다.
가로 혹은 세로조건일 때 좌표가 시작되는 위치부터 길이만큼 반복해서 숫자를 변경하면된다.
h, w = input().split()
h=int(h)
w= int(w)
n= int(input())
p =[]
p=[ [0 for i in range(w)] for j in range(h)]
for i in range(n):
l,d,x,y = input().split()
d=int(d)
l=int(l)
x=int(x)
y=int(y)
if d == 0:
for k in range(l):
p[x-1][y-1+k] = 1
else:
for k in range(l):
p[x-1+k][y-1] = 1
for i in range(h):
for j in range(w):
print(p[i][j], end=' ')
print()
if, for, list를 이용해서 만들어서 IDE에서 확인하면 입력에 대해서 출력예시와 같은 결과를 보여준다.
리스트 안의 리스트에서 x,y 좌표를 표현하는 방법이 헷깔렸던것 같다.
p[2][1] 은 앞쪽 리스트가 가장 밖에 있는 리스트이고 뒷쪽은 그 다음 리스트이다.
[ [] [] [1] [] ]
https://codeup.kr/problem.php?id=6097
반응형
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 알고리즘 인터뷰 (03-05) (1) | 2021.05.26 |
---|---|
파이썬 kaggle 머신러닝 입문 4~7/7 (0) | 2021.05.26 |
코드업 6090 수 나열하기 (0) | 2021.05.22 |
코드업 6083 문제 풀이 (0) | 2021.05.22 |
파이썬 초보 단축키 (0) | 2021.05.20 |