https://programmers.co.kr/learn/courses/30/lessons/42576
1. 풀이
Hash를 이용하는 문제이다. Hash를 기본 사용법을 알 수 있는 예제인듯 싶다.
동명이인만 잘 생각해서 풀이하면 될듯 하다.
다른 분들의 풀이를 보니, Hash를 사용하지 않고 정렬로 풀이하시는 분들도 계신듯 하다.
2. 코드
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> record = new HashMap<String, Integer>();
for(String com : completion){
// 아직 완주한 적 없는 선수라면
if(record.get(com) == null){
record.put(com, 1);
} else { // 동명이인으로 완주한 적 있는 선수라면 +1해주기
int tmp = record.get(com)+1;
record.put(com, tmp);
}
}
for(String part : participant){
// 만약 완주한 적 없는 선수라면
if(record.get(part) == null || record.get(part) == 0){
answer = part;
break;
}
// 완주한 선수라면 -1해주기
int tmp = record.get(part)-1;
record.put(part, tmp);
}
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 체육복 - 자바 (0) | 2020.07.03 |
---|---|
[프로그래머스] 모의고사 - 자바 (0) | 2020.07.03 |
[프로그래머스] 크레인 인형뽑기 게임 - 자바 (0) | 2020.07.03 |
[프로그래머스] 네트워크 - 자바 (0) | 2020.04.04 |
[프로그래머스] 타켓 넘버 - 자바 (0) | 2020.04.04 |
댓글