1. 문자열의 앞의 n글자
[문제 설명]
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
[답변]
function solution(my_string, n) {
return my_string.substr(0, n);
}
💡 substr() 을 활용해서 index[0]부터 길이 n 만큼 문자열을 잘라서 return 해줬다.
2. 접두사인지 확인하기
[문제 설명]
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
[답변]
function solution(my_string, is_prefix) {
return my_string.startsWith(is_prefix) ? 1 : 0;
}
💡 전에 풀었던 문제 (접미사인지 확인하기)에서 endsWith()
를 사용한 답변을 봤었는데, 그럼 startsWith()
도 있지 않을까? 라는 생각으로 사용해봤다. 근데 역시나 있었다!!! 메서드 최고야.. 👍
📌 startsWith()
: 문자열이 특정 문자열 또는 문자로 시작하는 지 확인하는 데 사용되는 메서드. boolean 값으로 반환된다.
3. 문자열 뒤집기
[문제 설명]
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
[답변]
function solution(my_string, s, e) {
let arr = my_string.split('');
let newArr = arr.slice(s, e + 1).reverse();
arr.splice(s, newArr.length, ...newArr);
return arr.join('');
}
💡 my_string을 split()
을 사용해 배열로 만들고, slice()
로 뒤집을 부분을 자른 뒤 reverse()
로 뒤집어서 newArr 배열에 저장하고, splice()
로 arr의 s부터 newArr의 길이까지의 값들을 newArr의 요소들로 변경한 뒤 join('')
하여 return
4. 세로 읽기
[문제 설명]
문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
[답변]
function solution(my_string, m, c) {
let answer = '';
for(let i = 0; i < Math.ceil(my_string.length) / m; i++){
answer += my_string.charAt(c + (m * i) - 1);
}
return answer;
}
📌 charAt() : 문자열에서 특정 인덱스에 해당하는 문자를 가져오는 메서드
[다른 답변]
const solution=(s,m,c)=>s.match(new RegExp(`.{${m}}`,'g')).map(v=>v[c-1]).join('')
[다른 답변 2]
function solution(my_string, m, c) {
return [...my_string].filter((_, i) => i % m === c - 1).join('');
}
5. qr code
[문제 설명]
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
[답변]
function solution(q, r, code) {
return [...code].filter((_, i) => i % q === r).join('');
}
💡 전개연산자로 문자열을 배열로 만들어주고, filter()
메서드를 활용해 풀어보았다.
'프로그래머스 > Lv. 0 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스] 코딩 기초 트레이닝 Day 12 / JS (0) | 2023.07.31 |
---|---|
[프로그래머스] 코딩 기초 트레이닝 Day 11 / JS (0) | 2023.07.30 |
[프로그래머스] 코딩 기초 트레이닝 Day 9 / JS (0) | 2023.07.28 |
[프로그래머스] 코딩 기초 트레이닝 Day 8 / 주사위게임 3 / JS (0) | 2023.07.27 |
[프로그래머스] 코딩 기초 트레이닝 Day 7 / JS (0) | 2023.07.26 |