티스토리 뷰
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
function solution(array) {
var answer = 0;
const countMap = new Map();
array.forEach((e) => {
if(countMap.has(e)){
countMap.set(e, countMap.get(e)+1);
}else{
countMap.set(e, 1);
}
})
const [first, second] = Array.from(countMap).sort((a, b) => b[1] - a[1]);
if(first[1] === second?.[1]) {
answer = -1;
} else {
answer = first[0];
}
return answer;
}
js sort 성능이 좋은지 아닌지 확인
function solution(array) {
const countMap = array.reduce((map, curr) => {
if(map.has(curr)) {
map.set(curr, map.get(curr) + 1);
} else {
map.set(curr, 1);
}
return map;
}, new Map());
const [first, second] = Array.from(countMap).sort((a, b) => b[1] - a[1]);
return first[1] === second?.[1]
? -1
: first[0]
}
굳이 map을 쓸 필요가 없어서
object를 썼음
function solution(array) {
const countMap = array.reduce((obj, curr) => {
if(obj[curr]) {
obj[curr] = obj[curr] + 1;
} else {
obj[curr] = 1;
}
return obj;
}, {});
const [first, second] = Object.entries(countMap).sort((a, b) => b[1] - a[1]);
return +(first[1] === second?.[1]
? -1
: first[0])
}
근데 object라 키가 문자열로 나오길래 +를 써줌
단항 더하기 (+) - JavaScript | MDN
단항 더하기 연산자(+)는 피연산자 앞에 위치하며 피연산자를 평가하지만, 만약 피연산자가 숫자가 아니라면 숫자로 변환을 시도합니다.
developer.mozilla.org
'Oops, All Code! > 🤯 Oops, My Algorithm!' 카테고리의 다른 글
♡̈ 05. 프로그래머스:: 덧칠하기 (0) | 2024.07.08 |
---|---|
♡̈ 04. 프로그래머스:: 기사단원의 무기 (0) | 2024.07.08 |
- ̗̀ෆෆ ̖́ 07. 기본 입출력에 관한 예제 (0) | 2024.07.07 |
♡̈ 02. 프로그래머스:: 크기가 작은 부분문자열 (0) | 2024.07.07 |
♡̈ 01. 프로그래머스:: 카드뭉치 (0) | 2024.07.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 도서리뷰
- 플리마켓후기
- 타입좁히기
- 경험플리마켓
- 카드뉴스
- 일급객체
- 트러블슈팅
- js
- 서평
- 책추천
- 우아한테크코스
- 어른의어휘공부
- 프론트엔드
- react
- 소사벌맛집
- 대학생팝업스토어
- 코딩테스트
- 어휘력
- 회고
- javascript
- 카페추천
- 플리마켓운영
- 대학생플리마켓
- typescript
- 프로토타입
- 안성스타필드
- 프리코스
- 비즈플리마켓
- 소사벌
- 도서추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함