[코.기.트] 전국 대회 선발 고사

리프깅·2023년 7월 28일

프로그래머스

목록 보기
27/29

✔ 전국 대회 선발 고사 문제 보기


💻 코드

function solution(rank, attendance) {
    let temp = [];
    for(let i=0; i<attendance.length; i++) {
        if(attendance[i] == true) { temp.push(rank[i]) }
    }
    temp.sort((i,j)=>i-j)
    
    let answer = []
    for(let i=0; i<3; i++) {
        answer.push(rank.indexOf(temp[i]))
    }
    return answer[0]*10000 + answer[1]*100 + answer[2]
}

👀 설명

첫 번째 for문에서는 참석 가능한 학생의 순위를 temp에 저장한다. for문이 끝나면 순위가 저장된 배열 temp를 오름차순으로 정렬한다.
answer에는 학생의 순위가rank에서 가지는 인덱스 번호를 저장한다. 두 번째 for문이 끝난다면 조건에 맞게 계산하여 리턴한다.


😎

어떻게 풀어야할지 감은 오는데 코드로 구현하는 걸 잘 모르겠어서 엄청 고민했다ㅠㅠ 생각한대로 무작정 적으니 코드가 너무 지저분해져서 나중에 나도 알아보기가 힘들어서...

profile
대학교 마지막 학기 공부기록

0개의 댓글