Closed honeySleepr closed 2 years ago
i-1
i
157 161 167 167 167 161 170
Arrays.copyOf(arr, arr.length)
arr.clone()
int phase = 1; for (int i = 1; i < n; i++) { if (arr[i - 1] > arr[i]) { if (phase == 1) { sb.append((i - 1) + 1).append(" "); phase = 2; continue; } if (phase == 2) { sb.append(i + 1); break; } } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // 장난꾸러기 public class P0606 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); String[] split = br.readLine().split("\\s"); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(split[i]); } int[] arrClone = arr.clone(); Arrays.sort(arrClone); StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { if (arr[i] != arrClone[i]) { sb.append(i + 1).append(" "); } } System.out.println(sb); } } /* 9 120 125 152 130 135 135 143 127 160 */
📌 문제
⭐️ 아이디어
i-1
을 기록하고, 두번째 등장하면i
를 기록한다🤔 고민한 내용
157 161 167 167 167 161 170
)💪 새롭게 배운 내용
Arrays.copyOf(arr, arr.length)
대신에 그냥arr.clone()
해도 되는구나🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
참고한 자료