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

프로그래머스 0단계 - 문자열 섞기, 문자열로 변환

by 학습하는 청년 2024. 3. 30.

문자열 섞기

두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.

  • 1 ≤ str1의 길이 = str2의 길이 ≤ 10
    str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
function solution(str1, str2) {
  let answer = '';
  for(let i = 0; i < str1.length; i++) {
    answer += str[i] + str2[i];
  }
  return answer;
}

// 다른 사람의 풀이
function solution(str1, str2) {
  return [...str1].map((x, idx)=> x+str2[idx]).join("");
}

두 문자열의 길이가 같으므로, 둘 중 하나의 문자열의 길이를 조건으로 두고 answer에 문자열의 요소들을 더하도록 만든다.

 

아래는 처음으로 풀었던 방법이다. 처음에 "오!!! 테스트 코드 통과했다" 하고 좋아했는데... 정답은 아니었다...?!(merge...) (속상했다...) 문자를  배열로 만들고, 그 요소를 순환하는 반복문으로 해결하려고 했다. 그럴 필요가 없었네...지금 보니까 ㅋㅋ

 

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

1) str1을 스프레드 구문을 사용하여, 요소들을 열거한다.

2) 요소들의 임시 변수를 x로 지정하고, idx를 순서로 사용한다.

3) x + str2[idx]를 통해 x뒤에 str2의 요소들이 하나씩 오도록 새 배열을 생성한다. // map()이므로 새 배열 반환

4) join('')을 사용해, 배열 사이에 공백을 없앤 문자열로 반환한다.


문자열로 변환

정수 n이 주어질 때, n을 문자열로 변환하여 return 하도록 soluton 함수를 완성해주세요.

  • 1 ≤ n ≤ 10000
function solution(n) {
  return String(n);
}

... 할 말이 없다...

댓글