한 걸음씩

[프로그래머스][JS] 수 조작하기 2 본문

Programmers

[프로그래머스][JS] 수 조작하기 2

winter17 2023. 6. 5. 16:09

https://school.programmers.co.kr/learn/courses/30/lessons/181925

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(numLog) {
    const controller = {
        "1":"w",
        "-1":"s",
        "10":"d",
        "-10":"a"
    }
    let string = '' 
    for (let i = 0; i < numLog.length - 1; i++){
        for (key in controller){
            if (numLog[i + 1] - numLog[i] === parseInt(key)){ 
                string += controller[key]
            }   
        }
    }
    return string;
}

주어진 조건을 객체로 만들고

numLog배열 길이 -1 만큼 반복문을 인덱스로 돌리는데 

객체의 키가 나올 수 있게 객체의 반복문도 내부에 돌린다.

그리고 numLog[i + 1] - numLog[i]의 값과 객체의 키 값이 같다면 (여기서 객체의 키 값은 문자이므로 정수변환이 필요하다)

string 빈 문자열에 더해준다


리뷰

객체를 다루는 방법을 까먹어서 시간이 좀 걸렸는데 메서드 찾아보면서 하니까 해결되었다

마지막에 key가 문자형인 것을 까먹고 왜 안되는거지 한참 고민했는데 너무 단순한 문제였다..!