-
[Programmers] JavaScript 알고리즘 | Lv.0 한 번만 등장한 문자► JS Algorithm/Programmers 2024. 8. 6. 21:35반응형
🔒 문제 설명
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
🔒 제한사항
- 0 ≤ r < q ≤ 20
- r < code의 길이 ≤ 1,000
- code는 영소문자로만 이루어져 있습니다.
🔒 입출력 예
q r code result 3 1 "qjnwezgrpirldywt" "jerry" 1 0 "programmers" "programmers"
🔒 입출력 예 설명
입출력 예 #1
- 예제 1번의 q와 r은 각각 3, 1이고 인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.
code q j n w e z g r p i r l d y w t index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 q로 나눈 나머지 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 - q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "jerry"가 되므로 이를 return 합니다.
입출력 예 #2
- 예제 2번의 q와 r은 각각 1, 0이고 인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.
code p r o g r a m m e r s index 0 1 2 3 4 5 6 7 8 9 10 q로 나눈 나머지 0 0 0 0 0 0 0 0 0 0 0 - q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "programmers"가 되므로 이를 return 합니다.
🔐 solution of mine
Array.prototype.push()
Array.prototype.splice()
Array.prototype.map()
Array.prototype.join()
function solution(q, r, code) { let arr1 = [...code]; let arr2 = []; let answer = []; while (arr1.length !== 0) { arr2.push(arr1.splice(0, q)); } arr2.map((v) => answer.push(v[r])); return console.log(answer.join("")); } solution(3, 1, "qjnwezgrpirldywt"); //output: "jerry" solution(1, 0, "programmers"); //output: "programmers"
🔐 ChatGPT's solution
Array.from()
Array.prototype.reduce()
function solution(q, r, code) { return console.log( Array.from(code).reduce( (result, word, i) => (i % q === r ? result + word : result), "" ) ); } solution(3, 1, "qjnwezgrpirldywt"); //output: "jerry" solution(1, 0, "programmers"); //output: "programmers"
🔐 solution of others
Array.prototype.map()
function solution(q, r, code) { let answer = ""; [...code].map((v, i) => (i % q === r ? (answer += v) : answer)); return console.log(answer); } solution(3, 1, "qjnwezgrpirldywt"); //output: "jerry" solution(1, 0, "programmers"); //output: "programmers"
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 수열과 구간 쿼리 3 (0) 2024.08.07 [Programmers] JavaScript 알고리즘 | Lv.0 한 번만 등장한 문자 (0) 2024.08.06 [Programmers] JavaScript 알고리즘 | Lv.0 배열의 길이를 2의 거듭제곱으로 만들기 (0) 2024.08.06 [Programmers] JavaScript 알고리즘 | Lv.0 2차원으로 만들기 (0) 2024.08.06 [Programmers] JavaScript 알고리즘 | Lv.0 문자열이 몇 번 등장하는지 세기 (0) 2024.08.05