✅ 선생님이 키가 작은 순서부터 큰 순서대로 줄을 세웠는데, 철수랑 짝궁이 자리를 바꿨습니다.
철수가 짝궁보다 앞에 있을 때, 철수의 자리와 짝궁의 자리를 출력하세요
예를 들어 선생님은 줄을 이렇게 세웠는데
120 125 127 130 135 135 143 152 160 (correct)
철수랑 짝궁이 자리 바꾼건 이렇게 생김
120 125 152 130 135 135 143 127 160 (input)
따라서 3, 8번이 자리 다르다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| class Main {
public ArrayList<Integer> solution(int size, int[] input){
ArrayList<Integer> answer= new ArrayList<>() ;
int[] correct= input.clone(); //clone array
Arrays.sort(correct); //오름차순으로 제대로 나열
for(int i=0; i<size; i++){
if(correct[i] != input[i]) answer.add(i+1); //학생번호는 1번부터 시작이니까
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc= new Scanner(System.in);
int size= sc.nextInt();
int[] input= new int[size];
for(int i=0; i<size; i++){
input[i]= sc.nextInt();
}
System.out.println(T.solution(size, input));
}
}
//⭐️input:
9
120 125 152 130 135 135 143 127 160 //학생들이 자리 바꿔서 선 줄
//⭐️output:
3 8
|
🔵 ThingsILearned
✔️ 배열 복사하기
1
2
| //int[] input= input이라는 배열 있음
int[] correct= input.clone();
|
1
2
3
4
| int[] correct= new int[size];
for(int i=0; i<size; i++){
correct[i] = input[i];
}
|
🟢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| class Main {
public String solution(int size, int[] input){
String answer= "";
int[] correct= new int[size];
for(int i=0; i<size; i++){
correct[i] = input[i];
}
Arrays.sort(correct);
for(int i=0; i<size; i++){
if(correct[i] != input[i]) answer += i+1 + " ";
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc= new Scanner(System.in);
int size= sc.nextInt();
int[] input= new int[size];
for(int i=0; i<size; i++){
input[i]= sc.nextInt();
}
System.out.println(T.solution(size, input));
}
}
|