[JavaScript] 프로그래머스 문자열 뒤집기

Gaeun·2022년 11월 2일
1
post-custom-banner

문자열 뒤집기

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

나의 풀이

  1. 문자열을 배열로 만들고
  2. 그 배열을 뒤집어서
  3. 문자열로 다시 반환하는 것을 생각하며 코드를 작성했다.

작성한 코드는 아래와 같다.

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

정말 짧은 코드이지만, 내가 평소에 쓰지 않았던 spread syntax와 method를 처음으로 사용하였기 때문에 하나씩 코드를 뜯어보자면

1. 문자열을 배열로 만들고

const solution = my_string => [...my_string]

console.log(solution('jaron')) 	// ["j", "a", "r", "o", "n"]

2. 그 배열을 뒤집어서

const solution = my_string => [...my_string].reverse()

console.log(solution('jaron'))	// ["n", "o", "r", "a", "j"]

3. 문자열로 다시 반환한다

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

console.log(solution('jaron'))	// "noraj"

이 코드를 작성할 때 join의 매개변수를 무엇으로 두어야 하는지에 대해 굉장히 고민했다. '분명 어디서 본 메서드이긴 하는데... 분명 어떤 매개변수를 넣어야 하는데...' 하면서 이것 저것 넣어보며 console을 계속 찍어보았다.

그러다 더 정확히 알기 위해 MDN에 들어가서 join() 메서드에 대해 찾아보았고 이러한 예시를 보았다.

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

join() 메서드의 매개변수인 separator는 배열의 각 요소를 구분할 문자열을 지정하고, separator빈 문자열('')이면 모든 요소들이 사이에 아무 문자도 없이 연결된다. 즉 내가 필요한 매개변수는 ''이었다!

정말 간단한 한 줄의 코드였는데 알고리즘을 풀며 써본 적 없던 메서드를 사용하고, 그 메서드에 필요한 매개변수를 직접 하나씩 콘솔로 찍어보니 다른 문제를 풀 때보다 조금 더 체득이 된 것 같다.

다른 사람의 풀이

// 다른 사람의 풀이 1
const solution = (my_string) => my_string.split('').reverse().join('')

// 다른 사람의 풀이 2
function solution(my_string) {
    return Array.from(my_string).reverse().join('');
}

나는 Spread Syntax를 사용하여 배열로 만든 반면, split()메서드, 혹은 Array.from()메서드를 사용한 사람들도 있었다. Array.from()메서드는 오늘 처음 접해봐서 MDN Array.from()에서 읽어보니 새로운 배열을 만들 때 유용하게 쓰일 것 같았다. 내가 필요로 할 때 쓸 수 있도록 복습하고 공부해야겠다.

profile
🌱 새싹 개발자의 고군분투 코딩 일기
post-custom-banner

0개의 댓글