x와 y의 값이 있다고 할 때, x와 y값을 서로 바꾸는 과정은 아래와 같다.
1. x값을 tmp에 보관
2. y값을 x에 대입
3. tmp에 보관한 값(처음 x값)을 y에 대입
배열요소를 이용하면 x와 y대신 arr[x] arr[y]라 쓸 뿐 과정은 동일하다.
tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
이렇게 두 요소를 교환하는 것은 꽤 자주 나오는 유형이기 때문에, swap이라는 메소드로 구현하는 것이 좋다.
public static void swap(int[] arr,int idx1, int inx2){
int tmp = arr[idx1];
arr[idx1] = arr[idx2];
arr[idx2] = tmp;
}
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[Algorithm] Exhaustive Search(완전검색), Greedy Algorithm(탐욕 알고리즘), Sort(정렬) (0) | 2021.07.07 |
---|---|
[JAVA] 백준 10809번 : 알파벳 찾기 (0) | 2021.03.30 |
[알고리즘] 드모르간 법칙(De Morgan's law)이란? (0) | 2021.02.11 |
[알고리즘] 최댓값 구하기 - java (0) | 2021.02.11 |
[JAVA] 백준 11720번 : 숫자의 합 (0) | 2021.02.03 |