- 오늘의 학습 키워드 행렬 덧셈
- 공부한 내용 본인의 언어로 정리하기
이중 for문으로 받아내는거 까지 생각해냄
n,m으로 나누어서 생각해내고 이정도 까지는 생각함
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N= sc.nextInt();
int M = sc.nextInt();
int[][] A = new int[100][100];
int[][] B = new int[100][100];
for(int i=0; i<N; i++){
for(int j=0; j<M; j++){
A = sc.nextInt();
int result= A[i][j]+B[i][j];
System.out.println(result);
}
}
}
수도 코드
1. N과 M을 입력 받는다.
2. 행렬 A를 저장할 2차원 배열을 새ㅣㅇ성한다.
N개의 행에 대해 반복한다.
M개의 원소를 입력받아서 저장한다.
3. 행렬 B를 저장할 2차원 배열을 생성한다.
N개의 행에 대해 반복한다.
M개의 원소를 입력받아서 저장하낟.
4. 결과 행렬 생성 및 출력
- N개의 행에 대해 반복한다.
M 개의 열에 대해 반복:
- 결과[i][j] = A[i][j] + B[i][j]
- 오늘의 회고
- 어떤 문제가 있었고, 나는 어떤 시도를 했는지
각 행렬 안에 숫자를 직접 입력해야하는데 이거를 못찾음
행렬에 입력하는거, 최댓값 찾는거 까지는 풀었음
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int max=0;
int[][] A= new int[9][9];
//행렬에 입력
for(int i=0; i<9;i++){
for(int j=0; j>9; j++){
A[i][j]= sc.nextInt();
}
}
//최댓값 찾기
for(int i=0; i<9;i++){
for(int j=0; j>9; j++){
if(A[i][j]>max){
System.out.println(A[i][j]);
}
}
}
- 어떻게 해결했는지
위치를 찾아야 하기때문에 max를 그냥 두는게 아니라 A[0][0] 에서 시작시켰다.
그리고
int maxRow = 1;
int maxCol =1; 를 두고 최댓값 찾기 부분을 수정했다.
for(int i=0; i<9;i++){
for(int j=0; j>9; j++){
if(A[i][j]>max){
max=A[i][j];
maxRow=i+1;
maxCol= j+1;
// System.out.println(A[i][j]);
}
}
}
System.out.println(max); // 첫째 줄에 최댓값 출력
System.out.println(maxRow + " " + maxCol); // 둘째 줄에 최댓값의 위치(행 열) 출력
- 무엇을 새롭게 알았는지
최댓값을 구하고 싶으면 max랑 비교하는거 까지는 알고 있었지만 위치를 구하기 위해서는 max 자체를 construct 안에 넣어서
행의 값, 열의 값을 각각 세어주어야한다.
- 내일 학습할 것은 무엇인지
2차원 배열 세로 읽기
'【스터디노트】 > ▷TIL' 카테고리의 다른 글
| 코테 스터디 67일차 TIL + 오늘의 학습 키워드 진법 변환 (0) | 2025.11.14 |
|---|---|
| 코테 스터디 67일차 TIL + 오늘의 학습 키워드 2차원배열 (0) | 2025.10.21 |
| 코테 스터디 65일차 TIL + 오늘의 학습 키워드 중복되는 단어 세는방법 (0) | 2025.10.15 |
| 코테 스터디 64일차 TIL + 오늘의 학습 키워드 펠린드롬 (1) | 2025.10.01 |
| [git] vscode 에 계정 초기화하는 방법 (0) | 2025.09.18 |