수박수박수박수박수박수?
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건- n은 길이 10,000이하인 자연수입니다.
3 | "수박수" |
4 | "수박수박" |
function solution(n) {
var answer = '';
for (let i = 0; i < n; i++) {
if (i % 2 === 0) answer += "수";
else if (i % 2 === 1) answer += "박";
}
return answer;
}
console.log(solution(3)); // "수박수"
console.log(solution(4)); // "수박수박"
나머지값이 0이면 수, 1이면 박을 넣어서 문제를 풀어주었습니다.
다른사람의 풀이
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function waterMelon(n){
var result = "수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박"
//함수를 완성하세요
return result.substring(0,n);
}
// 실행을 위한 테스트코드입니다.
console.log("n이 3인 경우: "+ waterMelon(3))
console.log("n이 4인 경우: "+ waterMelon(4))
문제가 개편된 이후에 돌아갈지 모르겠지만 재미있어서 보여서 가져왔습니다.
( 코딩을 즐기시는 분인듯합니다 ㅎㅎ )
또 다른사람의 풀이
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
const waterMelon = n => "수박".repeat(n).slice(0,n);
console.log("n이 3인 경우: "+ waterMelon(3))
console.log("n이 4인 경우: "+ waterMelon(4))
이 풀이도 개편 이후 돌아가는지는 모르겠지만 깔끔해서 가져왔습니다.
repeat() 메서드와 slice() 메서드를 이용한 깔끔한 풀이였던 것 같습니다.
'JavaScript | TypeScript > Javascript 코딩테스트' 카테고리의 다른 글
[ Javascript ] 코딩테스트 1단계 ( 약수의 합 ) (0) | 2023.03.31 |
---|---|
[ Javascript ] 코딩테스트 1단계 ( 문자열을 정수로 바꾸기 ) (1) | 2023.03.30 |
[ Javascript ] 코딩테스트 1단계 ( 서울에서 김서방 찾기 ) (1) | 2023.03.26 |
[ Javascript ] 코딩테스트 1단계 ( 문자열 다루기 기본 ) (0) | 2023.03.24 |
[ Javascript ] 코딩테스트 1단계 ( 문자열 내림차순으로 배치하기 ) (0) | 2023.03.22 |