Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 리팩토링 회고
- 백준 node.js
- frontend roadmap study
- KDT 프로그래머스 데브코스 프론트엔드
- useRef 지역 변수
- useEffect return
- 인프런 자바스크립트 알고리즘 문제풀이
- 모던 자바스크립트 딥다이브
- 프로그래머스 데브코스 프론트엔드 TIL
- K_Digital Training
- 모던 javascript Deep Dive
- react customHook 예시
- 프로그래머스 K_Digital Training 프론트엔드
- Vue3
- Vue3 Router
- 모던 자바스크립트 Deep Dive TIL
- 개발자 특강
- react 프로젝트 리팩토링
- 우테캠 회고록
- 모던 자바스크립트 TIL
- TypeScript 문법 소개
- 모던 자바스크립트 Deep Dive
- 머쓱이
- Frontend Roadmap
- KDT 프로그래머스
- 프로그래머스 K_Digital Training
- 투포인터알고리즘 js
- 백준 js
- 프로그래머스 데브코스
- 프로그래머스 데브코스 프론트엔드
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[프로그래머스 JavaScript] 숫자 문자열과 영단어 본문
프로그래머스 Level1 -> 2021 카카오 채용연계형 인턴십 문제
문제 설명 : 입력으로 들어오는 숫자가 Number형 숫자 or 문자열 숫자로 혼합되어 들어옵니다.
이것을 전부 Number형 숫자로 바꿔주면 됩니다. ex) "one4seveneight" -> 1478
저는 문제접근을 다음과 같이 구상했습니다.
1. 정규표현식을 이용하여 one, two ~ nine와 각각의 숫자를 나누어 변환
즉, "one4seveneight" -> [one, 4, seven, eight]
2. 숫자와 영단어를 이용하여 객체 생성
3. 반복문을 돌면서 객체에 key가 있으면 해당하는 value값 삽입, 없으면 그냥 삽입(이미 Number숫자인 경우)
function solution(s) {
var answer = "";
//정규표현식 활용->찾는 문자열 또는 숫자기준으로 매치
s = s.match(/zero|one|two|three|four|five|six|seven|eight|nine+|[0-9]/g);
//객체 이용
let change = {
"zero" : 0,
"one" : 1,
"two" : 2,
"three" : 3,
"four" : 4,
"five" : 5,
"six" : 6,
"seven" : 7,
"eight" : 8,
"nine" : 9
}
for(let x of s){
//객체에 해당 key가 있으면 value 삽입. 없으면 문자열 x삽입
answer += change[x] === undefined ? x : change[x]
}
//숫자형으로 변환
return Number(answer);
}
*정규식을 잘 배워놓자
728x90
'알고리즘_JS > 프로그래머스_Level1' 카테고리의 다른 글
[프로그래머스 JavaScript] 두 개 뽑아서 더하기 (0) | 2021.07.11 |
---|---|
[프로그래머스 JavaScript] 약수의 개수와 덧셈 (0) | 2021.07.11 |
[프로그래머스 JavaScript] 가운데 글자 가져오기 (0) | 2021.07.11 |
[프로그래머스 JavaScript] 1차 다트게임 (0) | 2021.06.17 |
[프로그래머스 JavaScript] 2016년 (0) | 2021.06.09 |
Comments