[programmers] 완주하지 못한 선수

2024. 9. 11. 16:27·알고리즘 오답노트/JAVA

문제 풀이 : 마라톤에 참여한 선수 중 완주하지 못한 선수의 이름을 출력해야 함

hash는 키 값이 중복되지 않게 저장되는데 마라톤 선수의 이름이 중복될 수 있다고 해서

방법이 생각이 나지 않아 chatgpt에게 방법을 물어봤음 ( 다음에 다시 혼자 풀어볼 것 ! )

key값에 참가자 이름, value값에 사람 수를 작성하라고 알려줌

 

import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {

        String result = "";

        HashMap<String, Integer> map = new HashMap<>();

        for(String name : participant) {
            if(map.containsKey(name)) {
                int count = map.get(name);
                map.put(name, count+1);
            } else {
                map.put(name, 1);
            }
        }

        for(String name : completion) { 
            if(map.get(name)==1) {
                map.remove(name);
            } else {
                int count = map.get(name);
                map.put(name, count-1);
            }
        }

        for (String name : map.keySet()) {
            if (map.get(name) > 0) {
                result = name;
            }
        }

        return result;
    }
}

내가 작성한 코드

마지막에 출력 부분도 어떻게 string 형태로 출력하는지 몰라 오래 걸렸는데

이건 hashmap을 잘 몰라서 그런 것 같아서 개념 공부의 필요성을 느낌

'알고리즘 오답노트 > JAVA' 카테고리의 다른 글

[programmers] 같은 숫자는 싫어  (0) 2024.09.20
[programmers] 의상  (0) 2024.09.20
[programmers] 전화번호 목록  (4) 2024.09.13
[programmers] 폰켓몬  (0) 2024.09.11
'알고리즘 오답노트/JAVA' 카테고리의 다른 글
  • [programmers] 같은 숫자는 싫어
  • [programmers] 의상
  • [programmers] 전화번호 목록
  • [programmers] 폰켓몬
bogyeom
bogyeom
백엔드 개발자 준비중
  • bogyeom
    딩코링코
    bogyeom
  • 전체
    오늘
    어제
    • 분류 전체보기 (10)
      • Node.js (0)
        • 크리스마스 미니홈피 (0)
      • SPRINGBOOT (2)
        • 음악 스트리밍 서비스 (2)
        • 식당 추천 서비스 (0)
      • 우아한 테크코스 프리코스 (3)
      • 알고리즘 오답노트 (5)
        • JAVA (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
bogyeom
[programmers] 완주하지 못한 선수
상단으로

티스토리툴바