본문 바로가기
코딩테스트/프로그래머스 0단계 - 기초 트레이닝

프로그래머스 0단계 - 문자열 곱하기 / 카운트 업

by 학습하는 청년 2024. 4. 4.

문자열 곱하기

문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

  • 1 ≤ my_string의 길이 ≤ 100
  • my_string은 영소문자로만 이루어져 있습니다.
  • 1 ≤ k ≤ 100
function solution(my_string, k) {
  let answer = '';
  for (let i = 1; i <= k; i++) answer += my_string;
  return answer;
}

// 다른 사람의 풀이
function solution(my_string, k) {
  return my_string.repeat(k)
}

 k만큼 문자열을 더하도록 만든다.

 

<다른 사람의 풀이에 대한 이해>

문자열 메소드 repeat(value)를 이용하면,  value 값만큼 복사하여 뒤에 붙인다.


카운트 업

정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return 하도록 solution 함수를 완성해주세요.

  • 0 ≤ start_num ≤ end_num ≤ 50
function solution(start_num, end_num) {
  const result = [];
  for (let i = start_num; i <= end_num; i++) {
    result.push(i)
  }
  return result;
}

function solution(start_num, end_num) {
  const length = end_num - start_num + 1;
  return Array(length).fill(start_num).map((v, i) => v + i);
}

처음에 귀찮아서 for 문으로 해결하지 않았다. 그래도 다시 작성해보자.. 하고 쓴 반복문

1) 빈 배열을 하나 만든다.

2) 배열의 인덱스를 순회하는 것이 아니라 '숫자'가 올라가는 상황이라 끝나는 지점까지 반복해준다.

3) 값을 배열에 순차적으로 담는다.

 

1) 배열의 길이만큼 Array()를 통해 생성한다.

2) fill(start_num)을 통해, 만들어진 배열의 요소를 시작 숫자로 채운다.

3) 배열의 요소들을 v 라고 하고, 각 요소들에 인덱스 순서만큼 더하는 배열로 만든다.

댓글