본문 바로가기

알고리즘

프로그래머스 - 완주하지 못한 선수

https://programmers.co.kr/learn/courses/30/lessons/42576

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

프로그래머스 완주하지 못한 선수 문제입니다.

처음에는 hashSet을 사용해서 풀이 했는데 동명이인이 존재하는지 몰랐습니다...

그렇기 떄문에 그냥 바로 arraylist로 자료구조를 변경 후에 제출했는데 시간복잡도에서 만족을 못시키더라구요.

아 그렇다면 해쉬맵을 사용해야겠구나 라는 생각에 해쉬맵을 활용해서 풀었습니다.

import java.util.*;
import java.util.Iterator;

class Solution {
        public String solution(String[] participant, String[] completion) {
            String answer = "";

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

            for(String s: participant){
                hashMap.put(s, hashMap.getOrDefault(s,0) + 1);
            }

            for(String s:completion){
                hashMap.put(s, hashMap.get(s)-1);
            }

            for(String key : hashMap.keySet()){
                if(hashMap.get(key) != 0){
                    answer = key;
                    break;
                }
            }

            return answer;
        }
    }

 

'알고리즘' 카테고리의 다른 글

프로그래머스 - k번째수  (0) 2020.04.12
프로그래머스 - 위장  (1) 2020.04.10
프로그래머스 - 쇠막대기  (2) 2020.04.06
프로그래머스 - 체육복(그리디)  (2) 2020.04.06
프로그래머스 - 숫자야구  (0) 2020.04.04