728x90

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

 

 

function solution(citations) {
    let nth = Math.ceil(citations.length / 2);
    citations.sort((a,b)=>b-a);
    
    for(let i = 0; i<citations.length; i++){
        if(citations[i]<i+1)return i;
    }
    return citations.length;
}

 

테스트케이스 2번이 

 

입력값 [3,5,11,6,1,5,3,3,1,41]

기댓값 2 

인데여 아무리생각해도 답이 5인데 ........왜 2 라고나오는지 ? 

저 테스트케이스 틀려도 제출하니까 통과되더라구여 

 

내림차순으로 정렬했을때 

 

[41,11,6,5,5,3,3,3,1,1]

 

인덱스만큼 인용되지 못한 논문 > 6번째논문 

 

그럼 답은 5 아닌가요?

728x90

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

 

프로그래머스

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

programmers.co.kr

 

 

function solution(progresses, speeds) {
    var answer = [];
  
    let day = 0;
    while(progresses.length>0){
        day++;
        progresses = progresses.map((p,idx)=>p+speeds[idx]);
        let all = 0;
        console.log(progresses)
        while(progresses.length>0&&progresses[0]>=100){
            if(progresses[0]>=100){
                progresses.shift();
                speeds.shift();
                all++;
            }
        }
        if(all>0)answer.push(all)
        
    }
      return answer;
}

선입선출의 원리를 가진 스택처럼 앞의것부터 순서대로 shirt 처리 해주면 되는 문제 

728x90

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

 

프로그래머스

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

programmers.co.kr

 

function solution(participant, completion) {
    var answer = '';
    var pmap = new Map();
    var cmap = new Map();
    
    participant.map((p)=>pmap.set(p,pmap.get(p)?pmap.get(p)+1:1));
    completion.map((c)=>cmap.set(c,cmap.get(c)?cmap.get(c)+1:1));
    for (p of participant){
          if(pmap.get(p)!==cmap.get(p)){
              answer = p;
              break;
                    }
    }
    
 
    return answer;
}

 

해시를 쓸 줄 안다면 간단히 풀 수 있는 문제 

728x90

 

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

 

프로그래머스

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

programmers.co.kr

 

 

function solution(nums) {
    var max = nums.length/2;
    var ponkemon = new Map();
    for(i of nums){
        if(!ponkemon.has(i))
            ponkemon.set(i,1);
        else 
            ponkemon.set(i,ponkemon.get(i)+1);
    }
    if(ponkemon.size<max)return ponkemon.size;
    else return max;
}

해시맵으로 각 폰켓몬별 마릿수를 구하고, 

폰켓몬 / 2 값보다 폰켓몬 종류값이 큰 경우 폰켓몬 / 2 값을, 

아닐 경우 폰켓몬의 종류값을 .size로 구해서 리턴하면 된다. 

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map

 

Map - JavaScript | MDN

Map 객체는 키-값 쌍과 키의 원래 삽입 순서를 기억합니다. 모든 값(객체 및 원시 값 모두)은 키 또는 값으로 사용될 수 있습니다.

developer.mozilla.org

자바스크립트의 해시맵을 사용할 줄 안다면 쉽게 풀 수 있는 문제다! 

 

728x90

+ Recent posts