-
[Programmers] JavaScript 알고리즘 | Lv.0 문자열 뒤집기► JS Algorithm/Programmers 2024. 7. 27. 13:11반응형
🔒 문제 설명
문자열 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 합니다.
🔐 solution of mine
String.prototype.slice()
Array.prototype.reverse()
Array.prototype.splice()
Array.prototype.flat()
Array.prototype.join()
function solution(my_string, s, e) { const answer = [...my_string]; const sliced = my_string.slice(s, e + 1); const reversed = [...sliced].reverse(); const spliced = answer.splice(s, sliced.length, reversed); return console.log(answer.flat().join("")); } solution("Progra21Sremm3", 6, 12); //output: "ProgrammerS123" solution("Stanley1yelnatS", 4, 10); //output: "Stanley1yelnatS" solution("00000", 0, 1); //output: "00000" // 함정문제
처음에는 split()으로 풀었다가, 함정문제때문에 17번에서 계속 오류가 났었다. 뉴뉴
🔐 solution of others
String.prototype.substring()
Array.prototype.reverse()
Array.prototype.join()
String.prototype.replace()
function solution(my_string, s, e) { const substringed = my_string.substring(s, e + 1); //output: 21Sremm const reversed = [...substringed].reverse().join(""); //output: mmerS12 return console.log(my_string.replace(substringed, reversed)); } solution("Progra21Sremm3", 6, 12); //output: "ProgrammerS123" solution("Stanley1yelnatS", 4, 10); //output: "Stanley1yelnatS" solution("00000", 0, 1); //output: "00000" // 함정문제
🔐 solution of others
Array.from()
Array.prototype.slice()
Array.prototype.reverse()
Array.prototype.splice()
Array.prototype.join()
function solution(my_string, s, e) { const arr = Array.from(my_string); const sliced = arr.slice(s, e + 1); sliced.reverse(); const spliced = arr.splice(s, e - s + 1, ...sliced); return console.log(arr.join("")); } solution("Progra21Sremm3", 6, 12); //output: "ProgrammerS123" solution("Stanley1yelnatS", 4, 10); //output: "Stanley1yelnatS" solution("00000", 0, 1); //output: "00000" // 함정문제
🔐 solution of others
Set
Array.prototype.filter()
Set.prototype.has()
Array.prototype.join()
function solution(my_string, s, e) { return console.log( my_string.slice(0, s) + my_string .slice(s, e + 1) .split("") .reverse() .join("") + my_string.slice(e + 1) ); } solution("Progra21Sremm3", 6, 12); //output: "ProgrammerS123" solution("Stanley1yelnatS", 4, 10); //output: "Stanley1yelnatS" solution("00000", 0, 1); //output: "00000" // 함정문제
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 문자열이 몇 번 등장하는지 세기 (0) 2024.08.05 [Programmers] JavaScript 알고리즘 | Lv.0 배열 만들기 5 (0) 2024.07.27 [Programmers] JavaScript 알고리즘 | Lv.0 글자 지우기 (0) 2024.07.21 [Programmers] JavaScript 알고리즘 | Lv.0 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) 2024.07.21 [Programmers] JavaScript 알고리즘 | Lv.0 빈 배열에 추가, 삭제하기 (0) 2024.07.21