개발새발 - IT 기술블로그
article thumbnail

백준 알고리즘  - 코틀린 풀이

 

https://www.acmicpc.net/problem/2738

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net


 

 

문제

 

 


 

정답

import java.lang.StringBuilder
import java.util.*


fun main() = with(Scanner(System.`in`)){
    val N = nextInt()
    val M = nextInt()
    val array = Array(N) { IntArray(M) }
    val sb = StringBuilder()

    for (i in 0 until N) {
        for (j in 0 until M) {
            array[i][j] = nextInt()
        }
    }
    for (i in 0 until N) {
        for (j in 0 until M) {
            array[i][j] += nextInt()
            sb.append(array[i][j].toString()+ " \n")
        }
        println(sb)
    }
}

 


 

풀이

2738번은 2차원 배열의 덧셈에 관한 문제입니다.

 

풀이 순서는 아래와 같습니다.

1. 입력받은 N과 M으로 사이즈가 M인 N개의 배열을 생성합니다.

2. 크기가 같은 A,B 행렬의 각 인덱스를 더할것이므로 앞서 생성한 2차원 배열에 행렬 A의 값들을 입력받습니다.

3. 그럼 문제 입력의 반(A)을 입력받았으니, 나머지 반(B)를 입력받아 A의 각 배열 인덱스에 더해줍니다.

4. 더한 값을 StringBuilder에 저장시키고 마지막으로 한번에 출력해줍니다.

 

 

감사합니다.