[코딩테스트] JavaScript/[코테] 프로그래머스

[프로그래머스 / JS ] Lv.0 / 181905 : 문자열 뒤집기

jini-dev 2025. 1. 18. 19:58

문자열 뒤집기(링크)

문제 설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
  • my_string은 숫자와 알파벳으로만 이루어져 있습니다.
  • 1 ≤ my_string의 길이 ≤ 1,000
  • 0 ≤ s  e < my_string의 길
입출력 예

my_string  s e result
"Progra21Sremm3" 6 12 "ProgrammerS123"
"Stanley1yelnatS" 4 10 "Stanley1yelnatS"
입출력 예 #1
예제 1번의 my_string에서 인덱스 6부터 인덱스 12까지를 뒤집은 문자열은 "ProgrammerS123"이므로 "ProgrammerS123"를 return 합니다.
입출력 예 #2
예제 2번의 my_string에서 인덱스 4부터 인덱스 10까지를 뒤집으면 원래 문자열과 같은 "Stanley1yelnatS"이므로 "Stanley1yelnatS"를 return 합니다.

 

문제 풀이

function solution(my_string, s, e) {
    const reverseStr = my_string.slice(s,e+1).split('').reverse().join('');
    return my_string.slice(0,s)+reverseStr+my_string.slice(e+1)
}

먼저 문자열을 뒤집을 reverseStr 변수를 선언한다.

my_string 문자열에서 s인덱스 부터 e 인덱스 까지 값을 복사하기 위해 slice 메소드를 사용하여 (s, e+1) 까지 복사한다.

 

reverse 메소드를 사용하여 값을 뒤집으려고 하는데, reverse 메소드는 array(배열) 메소드이기 때문에 split 메소드를 사용하여 문자열 하나하나의 값을 배열로 나누어준 후 reverse() 로 값을 뒤집어서 join() 메소드를 사용해 합친 문자열 값으로 만들어준다.

 

 최종적으로 my_string의 s 까지의 문자열을 slice 로 복사 한 값 + reverseStr 값 + my_string의 e+1 부터 마지막 까지의 문자열을 slice 로 복사한 값을 반환한다.