x,y 좌표에 대한 기본지식으로 인해 헷갈릴 수 있는 부분인데
arr[i][j] 에서 i값은 x좌표, j값은 y좌표 가 아니다!
이차원 배열을 풀 때, 저절로 x,y좌표를 이미지화 하며 구현하는 경우가 있는데, 보통
아래와 같이 이미지화 할 것이다.
(x,y) 를 표시
여기서 우리가 이차원 배열을 입력을 아래와 같이 받고
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>arr[i][j];
출력도 동일하게 아래와 같이 한다고 생각해보자.
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
cout<<arr[i][j];
cout<<endl;
}
여기서, 생각없이 넘어가다, x,y좌표계가 무의식적으로 떠올라, 출력이 위의 그림과 같이 나올 거라 생각할 수 도 있는데,
현실을 아래와 같이 진행된다.
(i,j) 를표시.
따라서 x,y 좌표가 나오는 문제에선
(i,j) 가 (x,y) 좌표라고 가정하면
for(int i=n-1;i<=0;i--){
for(int j=0;j<m;j++)
cout<<arr[i][j];
cout<<endl;
}
이런식으로 해줘야 올바른 x,y좌표가 출력되는 것.
기초적인거지만, 어려운 문제를 풀다보면 자신도 모르게 간과하는 경우가 있어, 한번 올려본다.
이를 통해 해결할만한 문제를 아래에 첨부하겠다. 아래 문제를 풀 때, 위에서 배운 좌표 지식을 잘 고려해서 해결해보자..!
https://school.programmers.co.kr/learn/courses/30/lessons/42898
'코딩테스트' 카테고리의 다른 글
다양한 데이터타입의 초기화 (vector, queue, vector 배열 등) (0) | 2022.02.08 |
---|---|
경로 추적에 대하여 (다익스트라, 플로이드 ) (1) | 2021.12.24 |
[백준 17472] 다리만들기 2 와 mst에 대한 설명 (0) | 2021.12.19 |
최단거리류 알고리즘에 대해서(다익스트라,벨만포드,플로이드 등등) (0) | 2021.12.15 |
BFS, DFS와 트리, 그래프에 대한 글.. (0) | 2021.12.11 |