티스토리 뷰
행렬 덧셈
문제
N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.
입력
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.
출력
첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.
import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main (String[] args) throws java.lang.Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n1 = Integer.parseInt(st.nextToken());
int n2 = Integer.parseInt(st.nextToken());
int [][] arr = new int[n1][n2];
for(int i=0; i<n1; i++){
st = new StringTokenizer(br.readLine());
for(int j=0; j<n2; j++){
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
for(int i=0; i<n1; i++){
st = new StringTokenizer(br.readLine());
for(int j=0; j<n2; j++){
arr[i][j] += Integer.parseInt(st.nextToken());
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
}
}
코드 자체는 간단합니다.
이차원 배열을 하나 만들고 for문을 통해서 값을 입력시키는 방식입니다.
여기서 고민한 점은 배열을 arr1, arr2를 만들어서 덧셈을 하는 방식인데
굳이 arr2의 메모리를 가지고 있을 필요성을 느끼지 못해서 arr1 하나만을 사용했습니다.
또한 출력하는 for문을 하나 더 만들까 생각을 했지만 덧셈과 출력을 한번에 하면서 반복을 줄였습니다.
'일상 > 코드 챌린지' 카테고리의 다른 글
백준 2745 진법 변환 (0) | 2024.10.14 |
---|---|
백준 2566 최대값 [JAVA] (1) | 2024.10.13 |
백준 1157 단어 공부 (0) | 2024.10.11 |
백준 10988 팰린드롬인지 확인하기 (JAVA) (0) | 2024.10.11 |
백준 5622 다이얼 (JAVA) (3) | 2024.10.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JPA
- form
- 메시지 오류
- JWT
- 인텔리제이
- 오류
- 스택
- 정보처리기사
- 해시
- CSS
- java
- 국비교육
- 자료구조
- 덱
- 백준
- static
- Queue
- (롯데)기업맞춤형 프로젝트
- git 베포
- 그린대학교
- MySQL
- 김영한
- 공공데이터포탈
- wsl
- 국비
- docker
- 국비지원
- 프로그래머스
- deque
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함