[LeetCode] 1945. Sum of Digits of String After Convert

Chobby·2일 전
1

LeetCode

목록 보기
635/652

😎풀이

  1. 단어 사전 정의
    1-1. a -> 1, b -> 2 ...
  2. 단어를 사전에 따라 숫자로 변환하는 헬퍼 함수 정의
  3. 각 자릿수를 모두 합하여 반환하는 헬퍼 함수 정의
  4. s를 숫자 형으로 변환
  5. k번 각 자릿수를 합한 결과로 변환
  6. 최종 결과를 정수형으로 변환하여 반환환
const dict = new Map()
for(let i = 0; i < 26; i++) {
    const code = 97 + i
    const alphabet = String.fromCharCode(code)
    dict.set(alphabet, i + 1)
}

function getLucky(s: string, k: number): number {
    let curS = wordToNum(s)
    for(let i = 0; i < k; i++) {
        curS = String(sumDigits(curS))
    }
    return Number(curS)
};

function wordToNum(word: string) {
    let result = ''
    for(const char of word) result += dict.get(char)
    return result
}

function sumDigits(strNum: string) {
    return strNum.split('').map(Number).reduce((acc, cur) => acc + cur, 0)
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글