728x90
코드 힌트
- queries 배열을 순회:
- 2차원 배열인 queries를 for문을 사용하여 순회합니다. 각 쿼리 [n, m]를 가져올 수 있게 합니다.
- forEach를 사용해도 좋고, 일반 for문을 사용해도 괜찮습니다.
- 값 교환하기:
- arr[n]과 arr[m]의 위치를 바꿉니다. 자바에서 값을 교환할 때는 임시로 저장할 변수(temp)를 사용해야 합니다.
- 파이썬에서는 n, m = m, n처럼 간단하게 값을 교환할 수 있지만,
자바에서는 temp = n; n = m; m = temp; 와 같이 임시 변수를 사용합니다.
- 메소드 활용 연습:
- solution 메소드에 모든 코드를 넣을 수도 있지만, 메소드 분리를 연습하고 싶다면 swap 메소드를 따로 만들어 보세요. 이렇게 하면 코드가 더 깔끔해지고 재사용성이 높아집니다.
정답은 더보기 클릭
더보기
class Solution {
public int[] solution(int[] arr, int[][] queries) {
// queries 배열을 순회하면서 각 쿼리 [n, m]을 가져옵니다.
for (int[] query : queries) {
int n = query[0]; // 교환할 첫 번째 인덱스
int m = query[1]; // 교환할 두 번째 인덱스
// 배열의 n번째와 m번째 값을 교환합니다.
int temp = arr[n];
arr[n] = arr[m];
arr[m] = temp;
}
return arr;
}
}
메소드 swap 만들어서 문제 풀기
class Solution {
public int[] solution(int[] arr, int[][] queries) {
for (int[] query : queries) {
swap(arr, query);
}
return arr;
}
// 배열의 두 값을 교환하는 메소드
public void swap(int[] arr, int[] query) {
int n = query[0]; // 교환할 첫 번째 인덱스
int m = query[1]; // 교환할 두 번째 인덱스
int temp = arr[n];
arr[n] = arr[m];
arr[m] = temp;
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 배열 만들기 2 (0) | 2024.07.26 |
---|---|
[프로그래머스] 수열과 구간 쿼리 2 (0) | 2024.07.26 |
[프로그래머스] 치킨 쿠폰 (0) | 2024.07.26 |
[프로그래머스] 간단한 식 계산하기 (0) | 2024.07.26 |
[프로그래머스] 문자열 정렬하기 (2) (0) | 2024.07.26 |