반응형
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. |
제한 조건
|
초기 코드
function solution(n) {
var answer = '';
return answer;
}
코드 풀이 설명
// substring 사용
function solution(n) {
return "수박".repeat(n).substring(0, n);
}
// console.log(solution(10))
// slice 사용
function solution(n) {
return "수박".repeat(n).slice(0, n);
}
// console.log(solution(10))
- 수박을 반복해서 붙여주는데 .substring() 함수를 사용하여 n번째에서 끊어준다.
- substring 함수는 특정 문자열을 잘라내여 반환하는 함수
- substring(start, end)
substring과 slice의 차이
substring 함수와 slice의 함수는 동일하게 적용되는데 몇가지 다른 점이 존재한다.
- start > end 일 경우
- substring의 경우 start 값과 end 값을 바꾸어 처리
- substring(7, 4) => substring(4, 7)
- slice는 그냥 비어있는 문자열 ""을 리턴
- substring의 경우 start 값과 end 값을 바꾸어 처리
- start 또는 end 값이 음수일 경우
- substring의 경우 start 값과 end 값이 음수인 경우 모두 0으로 처리
- substring(-2, 8) => substring(0, 8)
- substring(0, -8) => substring(0, 0)
- slice의 경우 가장 뒤에서 음수의 절대값만큼 내려온 index를 취급
- 예를 들면 slice(-3, 9)의 경우 start 값이 -3으로 음수일 경우 뒤에서 3번째 자리로 처리
- slice(-3, 9) = slice(6, 9)
- 반대로 end의 값이 음수일 경우 "반갑습니다"라는 문자열에 적용을 시켜보면 slice(1, -2) = slice(1, 4)
- substring의 경우 start 값과 end 값이 음수인 경우 모두 0으로 처리
프로그래머스 코딩테스트 연습 - 수박수박수박수박수박수?
프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
반응형