프로그래머스 [압축] - js
객체를 통해 값 존재 여부를 파악하고 누적 문자열을 저장하고 단순 반복문을 통해 정답을 출력하는 문제였다.
초기 문자객체는 String.fromCharCode()
를 통해 "Number ==> Char" 로 변환하여 char(key) : Number(value)로 저장하였다.
이후, while문을 통해 현재 위치에 있는 index가 msg의 길이를 넘지않게 조건을 준 다음, 저장되는 문자열이 나타나지 않을 때까지 문자열을 붙이고 새롭게 객체길이+1를 value로 주어 저장하였다.
정답코드
const solution = (msg) => {
const answer = []
// 문자열 저장 객체
const wordObject = {};
// 초기화 작업
for (let i=0; i<26; i++) {
const word = String.fromCharCode(65+i);
wordObject[word] = i+1;
};
let idx = 0;
while (idx < msg.length) {
let nowWord = '';
// 새로운 문자열이 나타나지 않을 때까지 문자열 붙히기
while (wordObject[nowWord + msg[idx]]) {
nowWord += msg[idx]
idx += 1;
}
answer.push(wordObject[nowWord]);
// 새롭게 발견된 문자는 객체 길이의 +1 값이 value로 들어간다.
const N = Object.keys(wordObject).length+1;
// 새롭게 추가될 문자 저장
wordObject[nowWord+msg[idx]] = N;
}
}
Author And Source
이 문제에 관하여(프로그래머스 [압축] - js), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@developyoun/프로그래머스-압축-js저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)