개발/알고리즘(코딩테스트)

프로그래머스, 자바스크립트) 문자열 뒤집기

빔네모 2024. 1. 11. 21:12

문제 

https://school.programmers.co.kr/learn/courses/30/lessons/181905

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

특정 문자를 잘라낸 후 뒤집어 주고, 그 문자의 앞, 뒤를 잘라내서 합쳐주었다.

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);
}

 

다른 풀이

문자열을 잘라서 이어 붙이는 대신 특정문자와 뒤집은 문자를 replace를 사용해 바꿔주기

 my_string.replace(str,newStr);

 

문자열을 배열로 만든 후 splice 메서드를 이용한다.

splice(인덱스,삭제 수, 추가할 아이템) 특정 문자가 될 위치를 삭제한 후 추가해서 다시 join으로 합쳐준다.

function solution(my_string, s, e) {
    const arr = Array.from(my_string)
    const words = arr.slice(s, e+1)
    words.reverse()
    arr.splice(s, e - s + 1, ...words)
    return arr.join('')
}