티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/181942
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ str1의 길이 = str2의 길이 ≤ 10
- str1과 str2는 알파벳 소문자로 이루어진 문자열입니다.
📌나의 풀이
반복문을 통해 첫문째 문자열(str1)부터 0번째 문자를 answer변수에 넣고, 바로 다음에 두번째 문자열(str2)의 0번째 문자를 저장했다.
str1[0],str2[0],str1[1],str2[1],....,str1[i],str2[i]까지 반복하여 answer변수에 저장한다.
function solution(str1, str2) {
var answer = '';
for(let i=0; i<str1.length; i++){
answer += str1[i]
answer += str2[i]
}
return answer;
}
입력값 〉 | "aaaaa", "bbbbb" |
기댓값 〉 | "ababababab" |
기대값을 보면 문자가 잘 섞여서 출력된다.
📌다른 풀이 방법
1. map 사용
반복문 map을 통해 각 문자열의 같은 위치에 있는 문자를 순서대로 결합한 새로운 문자열을 반환합니다.
function solution(str1, str2) {
return [...str1].map((x, idx)=> x + str2[idx]).join("");
}
- [...str1]은 str1 문자열을 문자 단위로 분해하여 배열로 변환한다. ( 예를 들어, str1이 "abc"라면, [...str1]은 ['a', 'b', 'c']가 됨 )
- [...str1].map((x, idx) => x + str2[idx])은 배열의 각 문자 x와 해당 문자의 인덱스 idx를 사용하여, x에 str2의 같은 인덱스에 있는 문자 str2[idx]를 더해 새로운 배열을 만든다.
- join을 사용해 최종 결과 배열을 빈 문자열 ""로 연결하여 하나의 문자열로 만든다.
-> 첫번째 문자열을 문자 배열로 만들어서 두번째 문자열의 같은 인덱스에 있는 문자를 조인하는 방법으로 map을 사용하면 한 줄의 코드로 간단하게 작성할 수 있다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스|JS] Lv.0 배열 자르기 splice() 와 slice() 차이점 (0) | 2024.11.15 |
---|---|
[프로그래머스|JS] Lv.0 외계행성의 나이 (1) | 2024.11.06 |
[프로그래머스|JS] Lv.0 구슬을 나누는 경우의 수 (0) | 2024.10.17 |
[프로그래머스|JS] Lv.0 짝수 홀수 개수 (0) | 2024.10.16 |
[프로그래머스|JS] Lv.1 K번째수 (0) | 2024.10.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TypeScript
- await
- 리액트네이티브
- props
- 프로그래머스
- 노마드
- Cleanup
- splice
- 티스토리챌린지
- create react app
- 오버로딩
- slice
- ts
- nomard
- useEffect
- overloading
- ReactJS
- Async
- 챌린지1일차
- React
- NPM
- useState
- 재귀함수
- 오블완
- 자바스크립트
- 프로젝트회고록
- 타입스크립트
- CLI
- 카카오로그인
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함