728x90
오히려 Map 자료형을 활용하면 좀 더 쉽게 풀 수 있던 문제였다.
ABCDEFG....Z 까지를 각각 1 ~ 26까지 값으로 Map 자료형에 입력한 이후, 단어를 만들어 나가면서 Map에 없을때까지 단어를 만든 이후 단어를 추가해주면 된다.
function solution(msg) {
const map = new Map()
let mapSize = 27
const ret = []
for (let i = 0 ; i < 26 ; i++) {
map.set(String.fromCharCode(i+65) , i+1)
}
for (let i = 0 ; i < msg.length ; i++) {
let word = msg[i]
while(1) {
const nWord = word + msg[i+1]
if (map.get(nWord)) {
word = nWord
i++
}
else break
}
ret.push(map.get(word))
map.set(word + msg[i+1],mapSize++)
}
return ret
}
728x90
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 캐시 (0) | 2023.07.14 |
---|---|
[JS] 방금 그곡 (0) | 2023.07.14 |
[JS] 파일명 정렬 (0) | 2023.07.13 |
[JS] N진수 게임 (0) | 2023.07.11 |
[JS] JaDenCase 만들기 (0) | 2023.07.11 |