알고리즘

프로그래머스, 수열과 구간 쿼리3

giyoung2 2024. 7. 10. 19:20

 

 

 

 

 

문제에 대해 간략하게 설명드리겠습니다.

 

입력받는 배열은 총 2개

arr, queries입니다.

 

 

 

queries배열의 인덱스 값에 해당하는 arr배열의 요소들의

위치를 서로 바꿔주는 것이 이번 문제의 해결방법입니다.

 

 

 

ex) arr = [1, 2, 3, 4, 5]

queries = [[0,3]] 이라면

arr배열의 요소들 중에서 인덱스 값이 0인 1과 인덱스 값이 3인 4의 위치를

서로 바꿔서 result배열로 출력

따라서, result = [4, 2, 3, 1, 5]가 됩니다.

 

 

 

 

코드가 매우 간단하죠.?

이 간단하고 짧은 코드에서도

알아두셨으면 하는 알고리즘이 하나 있습니다.

 

 

 

위의 3줄은 arr[i]와 arr[j]의 값을 서로 바꾸기 위해

temp라는 변수를 추가해서 하나하나씩 값을 서로 바꿔주는 역할을 합니다.

 

 

 

피보나치 수열에서도 이러한 방법이 사용되는 것만큼

종종 보이는 알고리즘이니 알아두시면 나중에 도움이 많이 될 것 같습니다~~

 

 

 

 

'알고리즘' 카테고리의 다른 글

프로그래머스, 최소직사각형  (0) 2024.07.10
프로그래머스, K번째수  (0) 2024.07.10
LEETCODE, Smallest Number in Infinite Set  (0) 2024.07.10
LEETCODE, Minimum Number  (0) 2024.07.10
LEETCODE, Valid Parenthesis  (0) 2024.07.10