[프로그래머스-자바스크립트] 문자열 뒤집기

호박이와 칼림바·2023년 9월 11일
post-thumbnail

코딩테스트 입문 - 문자열 뒤집기 문제


📢 문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요..


⚠️ 제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000

🔶 입출력 예

my_stringresult
"jaron""noraj"
"bread""daerb"

🔸입출력 예 설명

입출력 예 #1
my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.

입출력 예 #2
my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.


💎 나의 풀이


function solution(my_string) {
    let answer = '';
    for(let i = my_string.length-1; i >= 0; i--)
        answer += my_string[i];
    return answer;
}

reverse 함수를 사용하려 했지만, 배열 메서드라서 단순하게 my_string.reverse()로는 되지 않았다.(my_string은 배열이 아니라 문자열이기 때문.) 이 문제는 한 문장으로 끝내기 어려운 문제라 생각해버리고선 또 반복문을 택해버렸다.

다른 사람의 풀이를 살펴보도록 하자.

💡 다른 사람의 풀이(spread, reverse, join)

const solution = (my_string) => [...my_string].reverse().join("");

이렇게 한 줄 코드가 될 수 있었구나!!!
코드를 설명하자면, spread 문법을 사용하여 대괄호[ ] 안에 문자열을 펼쳐준다. 이렇게 해서 배열이 만들어지고 그 배열을 reverse() 해주면 배열의 순서가 뒤바뀌어진다.
그 다음 join() 함수를 사용한 이유는 예를 들어 보겠다.

const solution = (my_string) => String([...my_string].reverse());
solution('love'); // 'e,v,o,l'

join() 함수를 사용하기 전에는 쉼표까지 입력된 상태로 문자열이 반환된다.
join() 함수는 배열을 쉼표 없이 문자열로 변환하기 위한 것이다.


spread 문법을 사용하지 않은 경우도 살펴보자.
const solution = (my_string) => my_string.split('').reverse().join('')
profile
프론트엔드 개발자입니다.

0개의 댓글