[프로그래머스] 압축 - JS

잡초·2023년 12월 28일
0
post-thumbnail

문제

풀이

function solution(msg) {
  let answer = [];
  let word = {
      A: 1, B: 2, C: 3, D: 4, 
      E: 5, F: 6, G: 7, H: 8, 
      I: 9, J: 10, K: 11, L: 12, 
      M: 13, N: 14, O: 15, P: 16, 
      Q: 17, R: 18, S: 19, T: 20, 
      U: 21, V: 22, W: 23, X: 24,
      Y: 25, Z: 26
  }
  let str = "" //사전에서 찾을 글자
  
  for(let i = 0; i < msg.length; i++){
      str += msg[i] // str에 글자 추가
      if(!word[str]){ // str이 사전에 없을때만
          answer.push(word[str.slice(0, -1)]) // str에 방금 추가한 글자 제외하고 answer에 저장
          word[str] = Object.keys(word).length + 1 // str을 사전에 추가
          str = msg[i] // 마지막으로 추가된 글자부터 시작
      }
  }
  answer.push(word[str]); // 반복문이 끝난 뒤 str에 남아있는 문자 anwer에 추가
  
  return answer;
}
profile
개발자가 되고싶은 잡초

0개의 댓글