본문 바로가기
카테고리 없음

프로그래머스 달리기 경주 - 자바스크립트 풀이

by PARADISE247 2024. 10. 1.
반응형

문제

 

프로그래머스

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

programmers.co.kr

 

문제 풀이

원래는 선수의 최근 등수를 indexOf를 이용해서 가져왔으나 그렇게 하니 케이스 4개에서 시간 초과 에러가 나서 아래와 같이 객체 타입의 선수의 이름과 등수를 키, 값으로 가지는 변수를 만들어 사용했다. 

function solution(players, callings) {
    let list = {};
    players.forEach((x,i) => list[x] = i);
	// 선수 이름 : 등수 를 키, 값으로 가지는 객체를 만든다. 
    
    for(const x of callings){
        const index = list[x];
        const curr = players[index - 1];
        list[curr] = index;
        list[x] = index - 1;
        players[index] = curr;
        players[index - 1] = x;
        
    }
    return players;
}
반응형