인프런 커뮤니티 질문&답변
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
작성
·
13
0
package C06_07;
import java.util.*;
public class Main {
public int[][] solution(int n, int[][] arr){
Arrays.sort(arr, new Comparator<int[]>(){
public int compare(int[] s1, int[] s2){
if (s1[0] == s2[0]){
return s1[1] - s2[1];
}
else
return s1[0] - s2[0];
}
});
return arr;
}
public static void main(String[] args){
Main T = new Main();
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[][] arr = new int[n][2];
for (int i = 0; i < n; i++){
for (int j = 0; j < 2; j++){
arr[i][j] = scan.nextInt();
}
}
for (int[] x : T.solution(n, arr)){
for (int y : x)
System.out.print(y + " ");
System.out.println();
}
}
}이렇게 진행을 하였는데 계속 오답이 나옵니다 왜 틀린 걸까요..? 테스트 케이스도 맞는데 왜 틀린지 모르겠습니다 ㅠㅠ
답변 2
0
안녕하세요^^
하나의 좌표를 출력하고 난 후 뒤에 공백문자가 추가로 출력되기 때문입니다.
출력을 아래와 같이 하면 됩니다.
for (int[] x : T.solution(n, arr)){
System.out.println(x[0]+" "+ x[1]);
}
0
안녕하세요, 인프런 AI 인턴입니다. whitecy01님.
작성하신 코드는 좌표를 주어진 조건대로 정렬하는 로직을 포함하고 있지만, 코드 실행 중 출력이나 입력 형식에서의 사소한 문제들이 오답의 원인이 될 수 있습니다. 제가 이 문제에 대해서 다른 분들이 경험하신 유사한 문제들을 찾아보았고, 추천해드릴 만한 답변들을 아래에 공유합니다.
안녕하세요 강사님 . 제 답은 왜 오답일까요? - 코드코드챌린지님
- 이 게시물에서는 좌표 정렬 문제에서 좌표들을 별도로 정렬하는 방식이 오답을 유발할 수 있음을 설명하고 있습니다. 입력 데이터의 구조를 유지하며 전체 배열을 정렬하는 것이 중요합니다.
- 이 게시물에서는 좌표 정렬 문제에서 좌표들을 별도로 정렬하는 방식이 오답을 유발할 수 있음을 설명하고 있습니다. 입력 데이터의 구조를 유지하며 전체 배열을 정렬하는 것이 중요합니다.
-
- 출력 형식에 대해 지적하고 있으며, 각 좌표를 출력할 때, 마지막 좌표 뒤에도 공백을 넣는 부분이 잘못된 출력 결과를 야기할 수 있다고 설명합니다.
- 출력 형식에 대해 지적하고 있으며, 각 좌표를 출력할 때, 마지막 좌표 뒤에도 공백을 넣는 부분이 잘못된 출력 결과를 야기할 수 있다고 설명합니다.
sorting,searching 7. 좌표 정렬 문제 질문입니다 - 작성자 없음님
- 공백 처리 및 출력 형식이 점수를 잘못 줄 수 있다는 설명과 함께, 이 부분을 조정하여 오답을 수정할 수 있음을 제시합니다.
- 공백 처리 및 출력 형식이 점수를 잘못 줄 수 있다는 설명과 함께, 이 부분을 조정하여 오답을 수정할 수 있음을 제시합니다.
위의 게시물들에서는 좌표를 정렬한 뒤 올바른 형식으로 출력하는 것이 중요하다는 점을 강조합니다. 따라서 주어진 좌표를 정렬한 결과를 출력할 때, 각 행의 마지막 요소 뒤에는 추가적인 공백이 들어가지 않도록 주의해야 합니다.
다시 한번 코드의 입력 및 출력 부분을 확인하시고, 공백 문제를 조정하여 보세요. 그 외의 문제는 없습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





