기린의 기록을 위한 공간

[JAVA]프로그래머스[Hash] 1. 완주하지 못한 선수 본문

Algorithm/기타

[JAVA]프로그래머스[Hash] 1. 완주하지 못한 선수

girin code 2020. 2. 2. 00:40

[문제]

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


[풀이1] 

Arrays.sort() 메소드를 이용하여 오름차순 정렬

participant 1, 2, 3, 4, 5

completion 1, 2, 3, 4


[코드]

import java.util.Arrays;

class Solution {

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

        String answer = "";

        String temp = "";

        

        Arrays.sort(participant);

        Arrays.sort(completion);

        

        int i = 0;

        while(i < completion.length){

            if(!completion[i].equals(participant[i])){

                temp = participant[i];

                break;  

            }else{

                i++;

            }

        }

        

        if(!temp.equals("")){

            answer = temp;

        }else{

            answer = participant[participant.length-1];

        }

        

        return answer;

    }

}


[풀이2]

Hash Map <key , value> 이용

map에 제네릭을 선언하여 자료형을 지정하면 key값이 string이고 value값이 integer인 값만

들어올 수 있다.


[코드]

import java.util.HashMap;

class Solution {

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

        String answer = "";

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

        for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1);

        for (String player : completion) hm.put(player, hm.get(player) - 1);


        for (String key : hm.keySet()) {

            if (hm.get(key) != 0){

                answer = key;

            }

        }

        return answer;

    }

}



'Algorithm > 기타' 카테고리의 다른 글

[C++]백준 14단계 2750번 : 수 정렬하기  (0) 2020.02.03
[C++] 퀵정렬 (Quick Sort)  (0) 2020.02.02
[C++] 삽입 정렬 (Insertion Sort)  (0) 2020.02.02
[C++] 버블정렬 (Bubble Sort)  (0) 2020.02.02
[C++] 선택정렬 (Selection Sort)  (0) 2020.02.02
Comments