기린의 기록을 위한 공간
[JAVA]프로그래머스[Hash] 1. 완주하지 못한 선수 본문
[문제]
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 |