-
[알고리즘] #Reverse String■ Algorithm 2022. 8. 5. 17:24
문제 출처: https://leetcode.com/problems/reverse-string/
문제 해석
문자로 이루어진 배열 s가 주어졌을 때, 각 원소를 역순으로 나열하는 function을 구현하시오.
단, O(1) 메모리를 사용하면서 배열만을 가지고 수정해야한다.
풀이
사실 Array.prototype.reverse() 를 쓰면 단 한줄로 끝나버리는 문제이지만, 이 함수가 없다고 생각하고 구현해보았다.
이 문제도 마찬가지로 이진탐색문제처럼 low, high을 이용해서 구현했다. 양 끝에 원소를 각각 low, high으로 두고, 해당 원소를 바꿔치기한다고 보면 된다. 가운데 있는 값은 뒤집어도 같은 위치에 존재할 테니까 low<high인 경우에만 수행한다.
var reverseString = function(s) { let low = 0 let high = s.length-1 while(low < high) { const temp = s[low] s[low] = s[high] s[high] = temp low += 1 high -= 1 } return s };
'■ Algorithm' 카테고리의 다른 글
[알고리즘] #Middle of the Linked List (0) 2022.08.05 [알고리즘] #Reverse Words in a String III (0) 2022.08.05 [알고리즘] #Two Sum II - Input Array Is Sorted (0) 2022.08.05 [알고리즘] #Move Zeroes (0) 2022.08.03 [알고리즘] Rotate Array (0) 2022.08.02