[코테] 같은 패턴을 유지하는 문자열

JulyK9·2022년 12월 30일
0

문제

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수 완성.
예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴.

제출코드

function solution(n) {
  let result = ""
  for(let i = 0; i < n; i++) {
    result = result.concat(i % 2 === 0 ? "수" : "박")
  }
  return result
}

while 반복문으로는 이렇게 가능

function solution(n) {
  let result = ""
  let i = 0
  while(i < n) {
    result = result.concat(i % 2 === 0 ? "수" : "박")
    i++
  }
  return result
}

접근과정

  • 2개의 문자패턴 반복
  • 짝 => "수", 홀 => "박"
  • 문자열을 더해주기 위한 메서드는 str.concat() 을 이용

다른 풀이

function solution(n) {
  return "수박".repeat(n).slice(0,n)
}
  • str.repeat()와 str.slice() 메서드 활용 (문자열 메서드)
  • repeat 으로 "수박" 문자열을 n번 만큼 반복
    => 반환되는 문자열을 slice()로 잘라줄 예정
    => 따라서 최소한 예상 결과 보다는 길어야 함 repeat(n) 이든 repeat(n/2+1)이든 상관은 없음
  • slice(beginIdex, endIndex)로 도출할 문자열을 특정
    => slice는 배열 대상으로도 가능하고 문자열 대상으로도 가능한 메서드!
    => endIndex 자체는 포함하지 않음을 주의 (즉, endIndex - 1 문자까지만 반환)

참고자료

profile
느리지만 꾸준하게. 부족하거나 잘못된 부분은 알려주시면 감사하겠습니다.

0개의 댓글