[LeetCode] 1309. Decrypt String from Alphabet to Integer Mapping

Chobby·2025년 8월 8일
1

LeetCode

목록 보기
494/582

😎풀이

  1. 변환이 필요한 문자 매핑
  2. 역순으로 s를 순회
    2-1. #이 발견되지 않을경우 각 자리를 매핑된 문자로 변환하여 누산
    2-2. #이 발견될 경우 앞의 두 숫자를 추가로 가져와 맵핑하여 문자로 변환하고 누산
  3. 누산된 전체 문자열 반환
function freqAlphabets(s: string): string {
    const map = new Map<string, string>()
    for(let i = 1; i <= 26; i++) {
        const curKey = String(i)
        const curVal = String.fromCharCode(96 + i)
        if(i <= 9) {
            map.set(curKey, curVal)
        } else {
            map.set(curKey + '#', curVal)
        }

    }
    let result = ''
    for(let i = s.length - 1; i >= 0; i--) {
        const char = s[i]
        if(char !== '#') {
            result = map.get(char) + result
            continue
        }
        const range = s.slice(i - 2, i + 1)
        result = map.get(range) + result
        i -= 2
    }
    return result
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글