백준

백준 2738 [python/c++] 풀이

ris 2024. 7. 21. 11:54

 

이번 문제는 풀이법이 다양하게 생각나는 문제였습니다.

이중 리스트 혹은 바로 계산하는 방법 등 다양한 방법이 있었지만 python은 오랜만이라 가장 간단한 방법을 택했습니다.

아래는 python 코드입니다.

N, M = map(int, input().split())
a= []
for i in range(N):
    tmp = [int(i) for i in input().split()]
    a.append(tmp)
for i in range(N):
    tmp = [int(i) for i in input().split()]
    for j in range(M):
        a[i][j] = a[i][j] + tmp[j]

for i in a:
    for j in range(M):
        print(i[j], end=' ')
    print("")

 

python에서는 c++과 달리 print를 쓰면 바로 줄내림이 되더군요.

다음은 c++ 코드입니다.

#include<iostream>
using namespace std;
int main(){
    int n, m, tmp;
    cin >> n >> m;
    int a[n][m];
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
                cin >> a[i][j];
            }
        }
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            cin >> tmp;
            a[i][j] += tmp;
        }
    }
    
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    return 0;
}

 

이번 문제는 리스트 활용법과 출력 방식에서 end 방식을 쓸 수 있냐가 관건인 문제였습니다.