일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- git 명령어
- eslint-prettier
- prettier
- expected linebreaks to be 'crlf' but found 'lf' linebreak-style
- eslint
- k번째수
- IP주소
- 퀵정렬
- lazy-load
- git 개행문자
- git
- 원시값
- JadenCase
- 가장큰수
- input type password
- git autocrlf
- input 안보임
- password 안보임
- 프로그래머스
- expected linebreaks to be 'lf' but found 'crlf' linebreak-style
- HTTPS
- CRA
- 개행문자
- REST API
- LF
- react
- 참조타입
- CRLF
- 응답코드
- vscode
Archives
- Today
- Total
우파루파의 개발 기록
[프로그래머스] 숫자 문자열과 영단어 본문
안녕하세요.
이번 문제는 프로그래머스 1단계 - 숫자 문자열과 영단어 입니다.
2021 카카오 채용 연계형 인턴쉽에서 출제 되었던 문제라고 합니다.
이번 문제는 문제 자체를 이해하는 것은 쉽지만, 그만큼 여러가지 정답이 나올 수 있는 문제였던 것 같습니다.
저같은 경우는 순회가 가장 적은 방법으로 진행하려고 고민했고, 단순한 방식으로 풀이 했습니다.
function solution(s) {
const set = new Map([['zero','0'],['one','1'],['two','2'],['three','3'],['four','4'],['five','5'],['six','6'],['seven','7'],['eight','8'],['nine','9']]);
let answer = "";
let save = "";
for (const str of s) {
if (isNaN(Number(str))) {
save += str;
if (set.get(save)) {
answer += set.get(save);
save = "";
}
} else answer += str;
}
return Number(answer);
}
다른 분들의 경우, 정규표현식을 사용한 분들도 꽤 많더라구요. 생각을 못 했던 부분이라 아쉽습니다.
그리고 가장 신박한 풀이는 다음 코드였습니다.
확실히 코딩 테스트의 경우 연습할수록 는다고 하는것은, 특정한 상황에선 어떠한 코드를 짜야 하는지를 학습하기 때문인 것 같습니다.
오늘도 글 읽어주셔서 감사합니다. 피드백은 언제나 환영이니 부탁드립니다
'development > 알고리즘' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) | 2022.08.24 |
---|---|
[프로그래머스] 완주하지 못한 선수 (0) | 2022.08.24 |
[프로그래머스] 부족한 금액 계산하기 (0) | 2022.08.21 |
[프로그래머스] 성격 유형 검사하기 (0) | 2022.08.21 |
[프로그래머스] 시저 암호 (0) | 2022.08.21 |