| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 데이터베이스
- 자바스크립트
- 프로그래머스
- jpa
- 백엔드
- JavaScript
- web
- 쿼리
- jsp
- 알고리즘
- MySQL
- 스프링부트
- 오라클
- 미니정리
- spring
- 정리
- 코드테스트
- node.js
- 디자인 패턴
- BACK-END
- 서버
- Next.js
- 코드 테스트
- 자바
- 스프링
- SQL
- 프런트엔드
- java
- 프론트엔드
- oracle
- Today
- Total
참치코더의 꿈 메모장
알고리즘 94일차 - 프로그래머스 기출 문제(JAVA) / 신고 결과 받기 본문

- 밴 유저를 신고처리하고 한꺼번에 게시판 이용정지를 시키면서 정지 메일을 발송하는 프로그램을 만드는 문제이다.
- 1. 첫번째로 Set 컬렉션을 사용해 동일한 사용자가 똑같은 사용자에게 신고를 여러번 했을때 count는 1번만 계산하므로
중복되는 값을 제거해주었다.
- 2. 그다음 Map 컬렉션을 이용해 중복을 제거한 Set에서 신고당한 사람의 횟수를 count 해주었다.
(reportCount.getOrDefault(reported, 0) + 1)을 한다면 해당 키가 map에 존재한다면 해당 값 반환 아니면 0반환 + 1)
- 3. 그리고 k값 이상 횟수만큼 신고를 받으면 해당 아이디는 정지되므로 해당 정지되는 유저를 banned Set에 저장에 주었다.
- 4. 그럼 최종 벤된 계정이 추려지고, 중복제거한 신고받은 메일에서 banned에 포함된 계정이 있어서 정지가 됫다면,
해당 유저를 신고한 유저의 count를 1 증가시킨다. 최종적으로 어떤 사람이 신고를 해서 실제로 신고 횟수가
k 번 이상 초과되어 벤이 되었을때 해당 계정을 신고한 사람의 count는 1씩 증가하게 되고, 신고되서 벤된 사람의 수만큼
각각 배열의 특정 값이 count 되어 정답이 나오게 된다. ^^
https://school.programmers.co.kr/questions/90080
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr