https://programmers.co.kr/learn/challenges
- for문을 이용해서 문자열 만들기
- ?연산자를 활용하여 if문 구현하기
function solution(n) {
var answer = '';
for (var i = 0; i < n; i++) {
i%2===0 ? answer+='수' : answer+='박';
}
return answer;
}
result = solution(6);
console.log(result);
if문을 사용할때, 저런 식으로 조건이 하나밖에 없어 결과가 2개밖에 나오지 않을 때에는 ?연산자를 써서 조건문을 구현할 수 있다.
나는 n의 길이를 구하여 문자열에 '수', '박'을 이어붙이는 형식으로 코드를 작성하였으나 다른 방법으로 코드를 작성한 분들이 계셔서 정리해놓으려고 한다.
function solution(n) {
var answer = '';
answer = '수박'.repeat(n).slice(0,n)
//answer = '수박'.repeat(n/2+1).slice(0,n);
return answer;
}
result = solution(3);
console.log(result);
구조는 '수박'이라는 단어가 반복되므로, '수박'이라는 단어를 n번만큼 복사하여 0에서 n번째만큼 다시 자르는 것이다.
repeat()
repeat함수는 문자열을 n번 복사해주는 역할을 한다.(위 함수에서 repeat(2)를 하면 '수박수박'이 되는 것.)
repeat(n)을 해도 되지만 n의 절반을 갖고와서 +1을 해주는 것도 사용 가능하다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges