해시알고리즘(3)
-
2022 카카오 신입 공채 - 신고 결과 받기
문제 설명 보기 더보기 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고..
2022.09.03 -
[프로그래머스 > 해시] 베스트 앨범
프로그래머스 문제 읽을 때면 종종 읽어도 읽은 것 같지 않은 느낌이 들 때가 많다.ㅎㅎ 많이 풀어보면 쉬워지겠지..ㅎㅎ흑 문제) 과정) 첫번째, 스트리밍 총합이 큰 장르 순으로 내림차순 정렬 되어야 하고, 두번째, 각 장르별 스트리밍 수가 많은 노래를 내림차순 정렬 세번째, 정렬된 상태에서 각 장르별로 노래 두개를 뽑아야 한다. 장르에 노래가 하나 뿐일 경우 하나만 뽑는다. 총 반환되는 값은 장르*2 ( - 알파)가 된다. 내가 재출한 해설) function solution(genres, plays) { let answer = []; let genres_ = Array.from(new Set(genres)); //중복 제거한 장르만 모아놓음 let target = []; genres_.forEach((g..
2020.06.23 -
[ 프로그래머스 > 해시] 위장
내 통과 코드 function solution(clothes) { let answer = 0; let closet = clothes.reduce((prev,now) => ({ ...prev, [now[1]]: (prev[now[1]] || 0) + 1 }),{}); let key = Object.keys(closet).length-1; let res = 1; while (key >= 0) { res *= closet[Object.keys(closet)[key]]+1 key--; } return answer = res - 1, answer; } 종류 - 모자:[빨강, 검정] , 상의:[긴팔, 민소매] , 하의:[미디스커트, 슬랙스, 숏팬츠] 라고 한다면 모자의 종류 2가지 상의의 종류 2가지 하의의 종류3..
2020.04.23