프로그래머스 - 명예의 전당

2023. 1. 24. 16:33·알고리즘(Algorithm)
728x90
반응형

풀이

먼저, score를 한개씩 보내기 위해 forEach를 사용해 helper 함수에 전달

  score.forEach((i)=>{
    helper(i)
  })

만약, fame(명예의 전당에 오른 점수)의 길이가 k보다 작을 경우 fame에 값을 push하고 최솟값을 구해서 결과값에 push

    if(fame.length<k){
      fame.push(point);
      min=Math.min(...fame)
      res.push(min)
    }

 

fame의 길이가 k 이상이 되었을 때

만약 점수가 최솟값보다 크면 최솟값을 찾아 자르고 점수를 명예의 전당에 올림

올라간 점수들에서 최솟값을 찾아서 결과값에 push

점수가 최솟값보다 작은경우 전당에서 최솟값을 찾아 결과값에 push

같은 경우 결과값에만 push

    else{
      if(point>min){
        fame.splice(fame.indexOf(min),1)
        fame.push(point)
        min=Math.min(...fame)
        res.push(min)
      }
      else if(point<min){
        min=Math.min(...fame)
        res.push(min)
      }
      else{
        res.push(point)
      }
    }

최종코드

function solution(k, score) {
  let fame = [];
  let res = [];
  let min=-1
  const helper=(point)=>{
    if(fame.length<k){
      fame.push(point);
      min=Math.min(...fame)
      res.push(min)
    }
    else{
      if(point>min){
        fame.splice(fame.indexOf(min),1)
        fame.push(point)
        min=Math.min(...fame)
        res.push(min)
      }
      else if(point<min){
        min=Math.min(...fame)
        res.push(min)
      }
      else{
        res.push(point)
      }
    }
  }
  score.forEach((i)=>{
    helper(i)
  })
  return res
}
728x90
반응형
저작자표시 (새창열림)

'알고리즘(Algorithm)' 카테고리의 다른 글

프로그래머스 - 영어 끝말잇기[JS]  (0) 2023.02.12
프로그래머스 - 숫자의 표현 [JS]  (0) 2023.01.30
프로그래머스 - 키패드 누르기 [JS]  (0) 2023.01.16
프로그래머스 - 크레인 인형뽑기 게임 [JS]  (0) 2023.01.16
프로그래머스 - 체육복(Greedy) [JS]  (3) 2023.01.13
'알고리즘(Algorithm)' 카테고리의 다른 글
  • 프로그래머스 - 영어 끝말잇기[JS]
  • 프로그래머스 - 숫자의 표현 [JS]
  • 프로그래머스 - 키패드 누르기 [JS]
  • 프로그래머스 - 크레인 인형뽑기 게임 [JS]
Hun-bot
Hun-bot
IT를 중심으로 다양한 것
  • Hun-bot
    로봇이 만드는 눈사람
    Hun-bot
  • 전체
    오늘
    어제
    • All Article (132)
      • Programmers (6)
        • TIP (1)
        • SQL (2)
        • LV1 (1)
        • LV2 (2)
        • LV3 (0)
      • Baekjoon (31)
        • Bronze (10)
        • Silver (19)
        • Gold (2)
        • Platinum (0)
        • Diamond (0)
      • Leetcode (0)
        • Easy (0)
        • Medium (0)
        • Hard (0)
        • SQL (0)
      • 알고리즘(Algorithm) (44)
      • JavaScript (40)
      • Linux (7)
      • JSP (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      codetree
      프로그래머스 #자바스크립트 #JS
      JS #클래스
      티스토리챌린지
      코드트리후기
      BaekJoon
      코드트리
      Javascript
      Vue #Vue.js #정리
      SQL
      자바스크립트 #연습문제
      Programmers
      JS #JavaScript #프로그래머스 #알고리즘
      Python #알고리즘
      JS #프로그래머스 #숫자의표현 #알고리즘
      LeetCode #JS #Javascript #Algorithm
      JSP #Vscode #톰켓 #Tomcat #Java #Web #jdk
      자바스크립트
      JS #정규표현식
      알고리즘
      c++
      async await #js #문법 #자바스크립트 #비동기
      알고리즘 #Algorithm
      Algorithm
      갭체크
      프로그래머스
      오블완
      JS #JavaScript #프로그래머스 #카카오
      코딩테스트
      리눅스
    • 최근 댓글

    • hELLO· Designed By정상우.v4.10.3
    Hun-bot
    프로그래머스 - 명예의 전당
    상단으로

    티스토리툴바

    티스토리툴바