기록하는 개발자

[프로그래머스][코딩테스트 고득점 Kit][Javascript] 모음 사전 본문

Algorithm

[프로그래머스][코딩테스트 고득점 Kit][Javascript] 모음 사전

밍맹030 2023. 8. 14. 16:47
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=javascript 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

ex) "I"

A와 E로 시작하는 단어가 모두 끝난 뒤에 처음 오는 단어가 I 이다

 

A로 시작하는 단어 

i) A _ _ _ _ → 5^4 = 625

ii) A _ _ _ → 5^3 = 125

iii) A _ _ → 5^2 = 25

iv) A _ → 5^1 = 5

v) A  5^0 = 1

→ 625 + 125 + 25 + 5 + 1 = 781

 

E로 시작하는 단어 →  781

 

따라서 I는 781+781+1 = 1563번 째 단어이다.

 

전체 코드

function solution(word) {
    let answer = 0, base = 781;
    let words = ["A","E","I","O","U"]
    
    // 625 + 125 + 25 + 5 + 1 = 781
    for(let i =0; i<word.length; i++){
        for(let j =0; j<5; j++){
            if(word.substring(i,i+1)==words[j])
                answer+=base*j+1;
        }
        base=(base-1)/5;
    }
    return answer;
}
728x90