코딩테스트 | python/백준

백준 단계별로 풀어보기(2차원 배열)

iemxl 2023. 6. 2. 18:08

#2738

n,m=map(int, input().split())
arr=[]
arr1=[]
arr2=[]
for i in range(n):
    row1=list(map(int,input().split()))
    arr1.append(row1)
for k in range(n):
    row2=list(map(int,input().split()))
    arr2.append(row2)
for i in range(n):
    for k in range(m):
        print(arr1[i][k]+arr2[i][k],end=' ')
    print()

# 그냥 넣고(append) 출력하면 되는 문제였음.

 

#2566

arr,arr_m=[],[]
for _ in range(9):
    row=list(map(int, input().split()))
    arr.append(row)
for k in range(9):
    arr_m.append(max(arr[k]))
print(max(arr_m))
print(arr_m.index(max(arr_m))+1,arr[arr_m.index(max(arr_m))].index(max(arr_m))+1)

 

#10798

arr=[]
le=[]
for _ in range(5):
    row=list(input())
    arr.append(row)
    le.append(len(row))
for i in range(max(le)):
    for k in range(5):
        if i<le[k]:
            print(arr[k][i],end='')
# le 가로 길이 array를 만들어서 넘어가지 않도록 if문으로 제한을 걸어준다.            

 

#2563

n=int(input())
arr=[[0 for _ in range(100)] for _ in range(100)]
lst=[]
cnt=0
for _ in range(n):
    row=list(map(int, input().split(' ')))
    lst.append(row)
for i in range(n):
    for j in range(10):
        for k in range(10):
            arr[lst[i][0]-1+j][lst[i][1]-1+k]=1
for p in range(100):
    cnt+=arr[p].count(1)
print(cnt)

# 겹치는 부분 빼는 것보다 처음 배열에서 0>1으로 바꿔 마지막에 1을 세는 것이 쉬움.