inblog logo
|
LHS's Study Space
    알고리즘문제풀기프로그래머스

    [프로그래머스] 완주하지 못한 선수(42576)

    lhs's avatar
    lhs
    Dec 11, 2024
    [프로그래머스] 완주하지 못한 선수(42576)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/42576
     

    1. 문제 풀이 아이디어

    • Map을 사용하여 문제를 해결할 수 있다.

    2. 나의 정답 코드

    class Solution { public String solution(String[] participant, String[] completion) { Map<String, Integer> map = new HashMap<>(); for (String s : participant) { map.put(s, map.getOrDefault(s, 0) + 1); } for (String s : completion) { int count = map.get(s) - 1; if (count == 0) map.remove(s); else map.put(s, count); } return map.keySet().iterator().next(); } }

    3. 정리

    • Map을 생성해 참가자의 이름과 동명이인의 수를 저장한다.
    • 반복문을 통해 completion 배열에 있는 이름을 Map에서 값을 감소시키고, 0이되면 제거한다.
    • 이후 keySet의 첫 번째 값을 반환하면 문제를 해결할 수 있다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog