inflearn logo
강의

Course

Instructor

Introduction to Java Algorithm Problem Solving: Coding Test Preparation

7. Coordinate Alignment (compareTo)

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

83

whitecy01

1 asked

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();
        }



    }
}

이렇게 진행을 하였는데 계속 오답이 나옵니다 왜 틀린 걸까요..? 테스트 케이스도 맞는데 왜 틀린지 모르겠습니다 ㅠㅠ

java 코딩-테스트

Answer 2

0

codingcamp

안녕하세요^^

하나의 좌표를 출력하고 난 후 뒤에 공백문자가 추가로 출력되기 때문입니다.

출력을 아래와 같이 하면 됩니다.

for (int[] x : T.solution(n, arr)){
    System.out.println(x[0]+" "+ x[1]);
}

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. whitecy01님.

작성하신 코드는 좌표를 주어진 조건대로 정렬하는 로직을 포함하고 있지만, 코드 실행 중 출력이나 입력 형식에서의 사소한 문제들이 오답의 원인이 될 수 있습니다. 제가 이 문제에 대해서 다른 분들이 경험하신 유사한 문제들을 찾아보았고, 추천해드릴 만한 답변들을 아래에 공유합니다.

  1. 안녕하세요 강사님 . 제 답은 왜 오답일까요? - 코드코드챌린지님

    • 이 게시물에서는 좌표 정렬 문제에서 좌표들을 별도로 정렬하는 방식이 오답을 유발할 수 있음을 설명하고 있습니다. 입력 데이터의 구조를 유지하며 전체 배열을 정렬하는 것이 중요합니다.
  2. 코드 피드백 부탁드립니다. - vanillaa님

    • 출력 형식에 대해 지적하고 있으며, 각 좌표를 출력할 때, 마지막 좌표 뒤에도 공백을 넣는 부분이 잘못된 출력 결과를 야기할 수 있다고 설명합니다.
  3. sorting,searching 7. 좌표 정렬 문제 질문입니다 - 작성자 없음님

    • 공백 처리 및 출력 형식이 점수를 잘못 줄 수 있다는 설명과 함께, 이 부분을 조정하여 오답을 수정할 수 있음을 제시합니다.

위의 게시물들에서는 좌표를 정렬한 뒤 올바른 형식으로 출력하는 것이 중요하다는 점을 강조합니다. 따라서 주어진 좌표를 정렬한 결과를 출력할 때, 각 행의 마지막 요소 뒤에는 추가적인 공백이 들어가지 않도록 주의해야 합니다.

다시 한번 코드의 입력 및 출력 부분을 확인하시고, 공백 문제를 조정하여 보세요. 그 외의 문제는 없습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

19

1

갑자기 채점 사이트가 바뀌었어요

0

19

1

문제 리스트 페이지

0

22

1

채점 사이트 관련 질문드립니다

0

20

1

봉우리 문제 질문입니다

0

78

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

62

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

70

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

67

1

6-7 강의에서

0

47

1

6-6. 장난꾸러기 질문 있습니다.

0

43

1

강의 수강후 코딩테스트

0

106

1

answer 변수 사용 여부

0

42

1

2중 for문

1

83

2

2-11. 임시반장정하기 (Runtime Error)

0

62

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

68

1

이런 풀이는 어떨까요

0

42

1

자바 스트림 방식의 효율성 질문 드립니다.

0

55

1

알고리즘 자료 구조들..

0

60

1

StringBuilder vs BufferdWriter

0

47

1

원더랜드(프림)

0

47

1

이런 코드는 어떤가요?

0

59

1

bfs 풀이

0

55

1

병합정렬

0

55

1

26강 임시반장 정하기에서 질문이 있습니다

0

43

1