Programmers 프로그래머스 코딩테스트 연습 - 수박수박수박수박수박수? (JavaScript)
Programmers의 코딩테스트 연습문제 Level 1의 수박수박수박수박수박수? 문제를 JavaScript를 사용하여 문제를 풀어보도록 하겠습니다.
문제 설명
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.
제한 조건
- n은 길이 10,000이하인 자연수입니다.
입출력 예
n | return |
3 | "수박수" |
4 | "수박수박" |
작성한 답
solution.js
function solution(n) {
return "수박".repeat(n).slice(0,n);
}
설명
길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하는 문제입니다.
코드만 보셔도 아시겠지만 간단하게 생각하면 정말 너무도 간단한 문제입니다.
입출력 예와 같이 n이 3일때는 "수박수", n이 5일때는 "수박수박" 이렇게 수박수박수박수박수박.... 이렇게 이어지는 문자열에 n번째 문자까지만 나타나게 해주는 것입니다.
방법은 아주 간단합니다.
코드를 기반으로 설명드리도록 하겠습니다.
먼저 "수박"이라는 문자열을 repeat(n) 함수를 사용하여 n번만큼 반복합니다.
가령 n을 입출력 예의 3이라고 가정하였을 때, "수박".repeat(3)을 하면,
"수박" 문자열이 3번 반복되어 "수박수박수박" 이라는 문자열이 됩니다.
그리고 "수박수박수박" 이라는 문자열에서, slice(0, n) 으로 index 0 에서 n개의 문자열까지 잘라줍니다.
n이 3이라는 현재 가정에서는 "수박수박수박".slice(0, 3)을 하면,
"수박수박수박" 이라는 문자열에서 0번째 index에서 3개의 문자열을 자르면 "수박수", 즉 원하는 결과값을 얻을 수 있습니다.
n이 입출력 예의 4 라고 가정하고 해보겠습니다.
"수박".repeat(4)를 하면 "수박수박수박수박" 이 되고,
"수박수박수박수박".slice(0,4)을 하면 "수박수박" 으로 원하는 결과값을 얻을 수 있습니다.
작성한 답의 코드를 한줄씩 풀어내어 콘솔에 출력한 결과를 보여드리도록 하겠습니다.
solution(3);
solution(4);
function solution(n) {
console.log("n : ", n);
var answer = "수박";
answer = answer.repeat(n);
console.log(answer);
answer = answer.slice(0,n);
console.log(answer);
return "수박".repeat(n).slice(0,n);
}
// 콘솔 출력
// n : 3
// 수박수박수박
// 수박수
// n : 4
// 수박수박수박수박
// 수박수박
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청 사항은 언제든지 말씀 해주세요!
감사합니다.
'Developer > Algorithm' 카테고리의 다른 글
Programmers 프로그래머스 코딩테스트 연습 - 제일 작은 수 제거하기 (JavaScript) (0) | 2020.09.02 |
---|---|
Programmers 프로그래머스 코딩테스트 연습 - 정수 내림차순으로 배치하기 (JavaScript) (0) | 2020.09.01 |
Programmers 프로그래머스 코딩테스트 연습 - 문자열 다루기 기본 (JavaScript) (0) | 2020.08.30 |
Programmers 프로그래머스 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 (JavaScript) (0) | 2020.08.28 |
Programmers 프로그래머스 코딩테스트 연습 - 평균 구하기 (JavaScript) (0) | 2020.08.27 |
댓글