x,y좌표와 배열의 차이점
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
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr