강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

용재님의 프로필 이미지
용재

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

7. 좌표 정렬(compareTo)

이클립스에서 실행시 답은 잘 나오는데 왜 채점시 오답으로 뜰까요?

작성

·

219

0

import java.util.Scanner;

 

public class Main {

public int[][] solution(int n, int a[][]) {

for(int i=0; i< n-2; i++) {

for(int j=i+1; j<n-1; j++) {

if(a[i][0] > a[j][0]) {

int temp1 = a[j][0];

int temp2 = a[j][1];

a[j][0] = a[i][0];

a[j][1] = a[i][1];

a[i][0] = temp1;

a[i][1] = temp2;

}

if(a[i][0]==a[j][0]) {

if( a[i][1] > a[j][1]) {

int temp1 = a[j][0];

int temp2 = a[j][1];

a[j][0] = a[i][0];

a[j][1] = a[i][1];

a[i][0] = temp1;

a[i][1] = temp2;

}

}

}

}

return a;

}

public static void main(String[] args) {

Main T = new Main();

Scanner kb = new Scanner(System.in);

int n =kb.nextInt();

int a[][] = new int[n][2];

for(int i=0; i<n; i++) {

for(int j=0; j<2; j++) {

a[i][j] = kb.nextInt();

}

}

a = T.solution(n, a);

for(int i=0; i<n; i++) {

System.out.println(a[i][0]+" "+a[i][1]);

}

}

 

}

 

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

for(int i=0; i< n-2; i++) {

for(int j=i+1; j<n-1; j++) {

 

이 부분에서 반복문의 범위가 잘못되어 있습니다. 스스로 테스트데이터를 만들어 디버그해보세요.

참고로 영상의 내용에 대한 궁금한 점만 답합니다. 본인코드의 오류에 대한 질문은 답하지 않습니다.

 

 

용재님의 프로필 이미지
용재

작성한 질문수

질문하기