일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- js split
- 프로그래머스 lv0
- 리액트
- react강의
- 코딩테스트 lv0
- CSS
- 코딩테스트 js
- 프로그래머스 JS
- DOM
- API
- 노드
- SVG
- margin-left
- 호이스팅
- 내일배움카드
- 변수 선언
- 나라사랑카드
- K디지털기초역량훈련
- flex item
- js
- React
- 국비지원
- 자바스크립트
- 바이트디그리
- javascript
- Flex Container
- udemy
- html
- flex
- 패스트캠퍼스
- Today
- Total
꺾이지 않는 마음
[프로그래머스] Lv.0 문자 반복 출력하기 JS 풀이 본문
문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 ≤ my_string 길이 ≤ 5
- 2 ≤ n ≤ 10
- "my_string"은 영어 대소문자로 이루어져 있습니다.
입출력 예
my_string | n | result |
"hello" | 3 | "hhheeellllllooo" |
입출력 예 설명
입출력 예 #1
- "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
✨나의 풀이
1️⃣ for of 반복문과 repeat 메서드의 활용
function solution(my_string, n) { let answer = ""; for (let i of my_string) { answer += i.repeat(n); } return answer; }
처음에는 split 메서드를 통해 문자열 쪼개고, 배열 안에서 for of 반복문 돌려서 각 문자를 받아오고, 받아온 문자를 새 변수에 저장한 후 3번 반복출력하고, 마지막에 모든 변수를 다 합쳐서 문자열을 반환하는 식을 세웠다.
근데 이렇게 푸니까 답은 나오는데 풀이가 너무 지저분해서 분명 훨씬 깔끔한 풀이가 있을 거라고 생각했다.
내가 모르고 있는 어떤 메서드를 하나 배워야 할 것 같은 느낌. 그래서 검색해보았다.
검색 결과 'repeat' 이라는 반복출력 메서드를 알게 되었다.
그래서 for of 반복문을 사용해 문자열의 문자에 하나씩 접근한 후, repeat 메서드를 활용하여 3회 반복출력한 것을 변수 answer에 추가하는 식으로 풀이를 했다.
그리고 나는 이번에 처음으로 for of 반복문을 문자열에도 쓸 수 있다는 것을 알게 되었다.
나는 여태 for of 는 배열, for in 은 객체에 쓴다고만 배웠어서 문자열에도 for of 반복문을 쓸 수 있는지 몰랐다.
🟨다른 풀이
function solution(my_string, n) { var answer = [...my_string].map(v => v.repeat(n)).join(""); console.log(answer); return answer; }
스프레드 연산자를 활용해 문자열을 배열 안에 원소로 집어넣은 후, map 함수를 돌려서 각 원소에 repeat 함수를 실행하고, 마지막으로 join 함수를 사용해 다시 문자열로 합치는 풀이법이다.
스프레드 연산자를 문자열에도 쓸 수 있다는 것을 배웠다.
오늘 새로 배워간 게 많아서 기분이 좋다
오늘도 성장 + 2 스택
'코딩테스트 기록' 카테고리의 다른 글
[프로그래머스] Lv.0 대문자와 소문자 JS 풀이 (0) | 2022.10.27 |
---|---|
[프로그래머스] Lv.0 모음 제거 JS 풀이 (0) | 2022.10.27 |
[프로그래머스] Lv.0 제곱수 판별하기 JS 풀이 (0) | 2022.10.25 |
[프로그래머스] Lv.0 가장 큰 수 찾기 JS 풀이 (0) | 2022.10.25 |
[프로그래머스] Lv.0 짝수 홀수 개수 JS 풀이 (0) | 2022.10.24 |