
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요..
| my_string | result |
|---|---|
| "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은 배열이 아니라 문자열이기 때문.) 이 문제는 한 문장으로 끝내기 어려운 문제라 생각해버리고선 또 반복문을 택해버렸다.
다른 사람의 풀이를 살펴보도록 하자.
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() 함수는 배열을 쉼표 없이 문자열로 변환하기 위한 것이다.
const solution = (my_string) => my_string.split('').reverse().join('')