[Javascript] LV.0 문자열 뒤집기

은비·2023년 7월 3일
1

Programmers_CodingTest

목록 보기
17/72

문제 설명

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


제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000

입출력 예

my_stringreturn
"jaron""noraj"
"bread""daerb"

입출력 예 설명

입출력 예 #1

  • my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.

입출력 예 #2

  • my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.

✍ SOLUTION1

const solution = (my_string) => {
    const arr = Array.from(my_string);
    arr.reverse();
    return arr.join("");
}

/* 내가 처음 작성했던 코드이다. my_string을 Array.from을 이용하여 문자 하나하나를 담는 배열로
만들어주고 reverse 메서드를 통해 배열 순서를 뒤집어주고 마지막에 join으로 하나의 문자열로 묶어주었다. */
const solution = (my_string) => Array.from(my_string).reverse().join("");

/* 위의 코드를 조금 간략하게 작성해보았다. 처음 코드작성 할땐 간단하게 작성하는 방법이 떠오르지 않다가
노션 정리하면서 생각이나서 간략하게 줄여보았다. */

✍ SOLUTION2

function solution(my_string) {
    var answer = [...my_string].reverse().join("");
    return answer;
}

/* 이건 다른분의 풀이를 가져와봤다. 스프레드 문법을 써서 my_string을 배열에 담아준 후 reverse로 
배열의 순서를 뒤집고 join으로 다시 문자열로 변경해줬다. */
const solution = (my_string) => [...my_string].reverse().join("");

// 위의 코드를 화살표함수를 이용하여 간결하게 작성해보았다.

✍ SOLUTION3

const solution = (my_string) => my_stirng.split("").reverse().join("");

/* 이것도 다른분의 코드인데 배열로 만들지 않고 문자열을 split을 이용하여 ""구분자로 분리시킨 후 
reverse메서드로 반대로 뒤집고 join으로 ""로 묶어주었다. */

✍ SOLUTION4

function solution(my_string) {
    var answer = '';

    let arr = my_string.split('');
    let arr2 = [];

    for (let i = 0; i < arr.length; i++) {
        arr2.unshift(arr[i]);
    }

    answer = arr2.join('');

    return answer;
}

/* 이것도 다른분의 풀이인데 reverse를 쓰지않고 코드를 작성해보려면 split을 이용해서 ''로 분리시켜주고
빈배열을 갖고 있는 변수 arr2에 for문을 통해서 unshift로 앞에서 부터 추가해주었다. 마지막으로 join으로
''문자열로 묶어주었다. 간단한 방법은 아니지만 reverse를 사용하지 못하는 상황을 생각하면 이런 방식도
있다는것을 기억하고 싶어서 작성해본다. */

출처 : 프로그래머스 스쿨 | 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/120822

0개의 댓글