

Future Engineering
기술의 최전선을 기록합니다.
프로그래머스 문자열 여러 번 뒤집기
Algorithm4개월 전
function solution(my_string, queries) {
let strArr = my_string.split(''); // 문자열을 배열로 변환해서 다루기 쉽게 함
for (let [start, end] of queries) {
const reversed = strArr.slice(start, end + 1).reverse();
// slice: start부터 end까지 잘라냄, reverse: 그걸 뒤집음
strArr.splice(start, end - start + 1, ...reversed);
// splice: 원래 배열에서 start부터 해당 길이만큼 지우고 그 자리에 reversed를 넣음
}
return strArr.join(''); // 배열을 다시 문자열로 합쳐서 리턴
}
🧩 문제 요약
-
문자열
my_string
이 주어져요. 예:'abcdefg'
-
queries
는 배열 안에[s, e]
쌍들이 들어 있고, 이는my_string
의 s부터 e까지 글자를 뒤집으라는 뜻이에요. -
여러 개의 [s, e] 쌍이 있을 수 있고, 이걸 순서대로 적용해야 해요.
💡 핵심 아이디어
-
문자열은 변경이 불가능(immutable) 하니까, 배열로 바꿔서 다루는 게 편해요.
-
slice(start, end+1)
은 원하는 부분만 잘라서 가져올 수 있어요. -
reverse()
로 잘라온 부분을 뒤집어요. -
splice(start, 길이, ...바꿀내용)
을 써서 원래 배열을 수정해요.
✨ 정리하면
-
문자열을 배열로 바꾼 다음,
-
쿼리마다 해당 부분을 자르고 → 뒤집고 → 다시 붙여넣기!
-
마지막엔 배열을 문자열로 되돌리면 끝!
키워드
프로그래머스 문자열 여러 번 뒤집기알고리즘 문제 풀이