우파루파의 개발 기록

[프로그래머스] 숫자 문자열과 영단어 본문

development/알고리즘

[프로그래머스] 숫자 문자열과 영단어

upa-r-upa 2022. 8. 23. 13:25

안녕하세요.

이번 문제는 프로그래머스 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);
}

다른 분들의 경우, 정규표현식을 사용한 분들도 꽤 많더라구요. 생각을 못 했던 부분이라 아쉽습니다.

멋진 코드입니다.

그리고 가장 신박한 풀이는 다음 코드였습니다.

생각하지 못했던 방식입니다.

확실히 코딩 테스트의 경우 연습할수록 는다고 하는것은, 특정한 상황에선 어떠한 코드를 짜야 하는지를 학습하기 때문인 것 같습니다.

 

 

 

 

오늘도 글 읽어주셔서 감사합니다. 피드백은 언제나 환영이니 부탁드립니다