HASH 2

[코테] Hash | 프로그래머스 Lv2. 전화번호 목록 - HashSet으로 접두사 검사

처음엔 방향을 잘못 잡았지만, 핵심 아이디어를 잡고 나니 깔끔하게 풀렸다.이번에 새로 배운 건 "왜 HashSet이 이중 for문보다 빠른가" 였다.1. 문제 분석입출력 파악phone_book = ["119", "97674223", "1195524421"]정답: false→ "119"가 "1195524421"의 앞부분(접두사)이므로 falsephone_book = ["119", "1123"]정답: true→ "119"가 "1123"의 접두사? No→ "1123"이 "119"의 접두사? No→ 어떤 번호도 다른 번호의 접두사가 아님 → true문제 핵심"어떤 번호가 다른 번호의 앞부분(접두사)인지" 를 찾는 문제다.2. 풀이 아이디어처음 접근 (틀린 방법)처음엔 이렇게 생각했다.// 잘못된 접근// Set..

[코테] Hash | 프로그래머스 Lv1. 신고 결과 받기 (+ 복합 자료구조)

저번에는 HashMap과 HashSet의 기본 개념을 익히고 "완주하지 못한 선수"를 풀었다.이번 문제는 그걸 조합해서 써야 하는 문제이다.1. 문제 분석입출력 파악id_list = ["muzi", "frodo", "apeach", "neo"]report = ["muzi frodo", "apeach frodo", "frodo neo", "muzi frodo"] // "muzi frodo" 중복!k = 2정답: [2, 1, 1, 0]흐름을 말로 풀면 이렇다.1. "muzi frodo" 중복 → 1번만 처리2. frodo는 muzi, apeach에게 신고당함 → 2번 = k 이상 → 정지3. neo는 frodo에게 신고당함 → 1번 = k 미만 → 정지 안 됨4. muzi는 frodo, neo 신고 → ..

728x90