Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- APOLLO
- RxJS
- 이진탐색
- 웹팩
- vue3
- 알고리즘
- 프로그래머스
- 타입스크립트
- 포인터
- 프론트엔드
- 스택
- 컨테이너
- 코딩테스트
- RT scheduling
- 연결리스트
- 배열
- C
- 해시테이블
- alexnet
- pytorch
- 프로세스
- 자료구조
- 자바스크립트
- 브라우저
- GraphQL
- cors
- 릿코드
- 연결 리스트
- Machine Learning
- 큐
Archives
- Today
- Total
프린세스 다이어리
[프로그래머스] H-index 문제 자바스크립트 풀이 본문
728x90
1. 접근 방법
(1) 내림차순으로 정렬한다.
let arr = citations.sort((a, b) => b - a);
(2) 정렬한 배열을 반복문을 돌면서 각 논문의 인용 수와 인덱스(논문 수)를 비교한다. 논문의 인용 수가 논문 수보다 크면 논문 수를 1씩 더하고, 같으면 그 논문 수를 리턴한다.
for (let i = 0; i < arr.length; i++) {
if (arr[i] > i) {
answer = i + 1;
} else if (arr[i] == i) {
answer = i
}
}
else if문의 경우 11번이 계속 오답이라고 나와서, 구글검색 후 테케를 추가했다. [1, 1, 0] 을 넣었을 때 1이 나오는지 확인.
2. 해답 코드
function solution(citations) {
let answer = 0;
let arr = citations.sort((a, b) => b - a);
if (arr[0] === 0) return 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] > i) {
answer = i + 1;
} else if (arr[i] == i) {
answer = i
}
}
return answer;
}
728x90
'자료구조, 알고리즘' 카테고리의 다른 글
[백준] 단지번호 붙이기 문제 자바스크립트 풀이 - BFS (0) | 2021.11.05 |
---|---|
[백준] 미로 탐색 문제 자바스크립트 풀이 - BFS (0) | 2021.11.04 |
[프로그래머스] 가장 큰 수 문제 자바스크립트 풀이 (0) | 2021.11.01 |
자바스크립트 핵간단한 이진탐색 구현 기본 템플릿 (0) | 2021.10.31 |
자바스크립트 핵간단한 퀵정렬 코드 (0) | 2021.10.31 |
Comments