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

simononze님의 프로필 이미지
simononze

작성한 질문수

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

6. 장난꾸러기

제 코드 어디가 잘못 됐는지 잘 모르겠습니다

작성

·

300

0

안녕하세요 제가 작성한 코드에 어디가 문제인지 잘 모르겠어 질문합니다.

선생님께서 풀어 주신 방법과 거의 비슷하게 푼것 같은데 어디가 잘못 됐는지 모르겠습니다.(저는 깊은 복사 대신 새로운 객체를 만들었습니다.)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public ArrayList<Integer> solution(int n, int[] arr) {
		ArrayList<Integer> answer = new ArrayList<>();
		int[] tmp = new int[n];
		
		for(int i=0; i<n; i++) {
			tmp[i] = arr[i];
		}
		Arrays.sort(arr);
		
		for(int i=0; i<n-1; i++) {
			if(tmp[i]!=arr[i]) {
				answer.add(i+1);
			}
		}
		return answer;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n = kb.nextInt();
		int[] arr = new int[n];
		for(int i=0; i<n; i++) {
			arr[i] = kb.nextInt();
		}
		
		for(int x:T.solution(n, arr)) {
			System.out.print(x+" ");
		}
	}
}

답변 1

0

이 부분을 n-1이 아닌 n으로 바꿔주시면 될 것 같아요~

simononze님의 프로필 이미지
simononze

작성한 질문수

질문하기