카테고리 없음

[코드업][기초 100제][파이썬] 6097. 설탕과자 뽑기

내만 2022. 7. 13. 15:44
728x90
반응형

 

 

 

 

 

 

🙆‍♂️문제


 

 

🙋‍♂️풀이


입력을 보니 먼저 격자판 구격에 대해서 입력받습니다.

a,b = map(int, input().split())
pan=[]
for i in range(a):
    pan.append([])
    for j in range(b):
        pan[i].append(0)

 

그리고 막대기 길이와 좌표에 대해 입력받는 값들을 2차원 리스트로 정렬합니다.

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

 

4개의 숫자가 입력되는데 막대의 길이, 방향, 좌표가 입력됩니다.

방향은 0은 가로 1은 세로를 뜻합니다.

 

for i in range(n):
    if stick[i][1] == 0:
        for j in range(0,stick[i][0]):
            x=stick[i][2]-1
            y=stick[i][3]-1
            pan[x][y+j]=1
    else:
        for j in range(0,stick[i][0]): 
            x=stick[i][2]-1
            y=stick[i][3]-1
            pan[x+j][y]=1

이런식으로 방향이 0일 때와 1일 때를 구분해서 구합니다.

 

# 판 크기 입력
a,b = map(int, input().split())
pan=[]
for i in range(a):
    pan.append([])
    for j in range(b):
        pan[i].append(0)

#막대기 관련 입력
n=int(input())
stick=[list(map(int, input().split())) for _ in range(n)]

#막대기 변환
for i in range(n):
    if stick[i][1] == 0:
        for j in range(0,stick[i][0]):
            x=stick[i][2]-1
            y=stick[i][3]-1
            pan[x][y+j]=1
    else:
        for j in range(0,stick[i][0]): 
            x=stick[i][2]-1
            y=stick[i][3]-1
            pan[x+j][y]=1

#출력
for i in range(a):
    for j in pan[i]:
        print(j, end=" ")
    print()

전체 코드는 이렇습니다.

 

728x90
반응형