• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

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

21.07.31 13:53 작성 조회수 155

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

springbom님의 프로필

springbom

2021.08.01

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