반응형
Notice
Recent Posts
Recent Comments
Link
지구정복
[해쉬] 프로그래머스 - 완주하지 못한 선수 본문
728x90
반응형
programmers.co.kr/learn/courses/30/lessons/42576?language=java
내 풀이
더보기
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
//참가선수, 완주선수 배열을 모두 오름차순 정렬한다.
Arrays.sort( participant );
Arrays.sort( completion );
//반복문 돌면서 참가선수와 완주선수 이름이 같지 않다면 answer정의
for( int i=0; i<completion.length; i++ ) {
if( !participant[i].equals( completion[i] ) ) {
answer = participant[i];
break;
}
}
return answer;
}
}
해시맵을 이용한 풀이
더보기
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
//해시맵 선언 <선수명, 값>
HashMap<String, Integer> hm = new HashMap<>();
//참가선수를 해시맵에 넣는다. 이때 동명이인이 있을 수 있으니 .getOrDefault메소드 사용
for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1);
//완주선수는 해시맵에서 값을 1씩빼준다.
for (String player : completion) hm.put(player, hm.get(player) - 1);
//해시맵에서 0이 아닌 선수를 찾는데 무조건 1명이다.
for (String key : hm.keySet()) {
if (hm.get(key) != 0){
answer = key;
break;
}
}
return answer;
}
}
728x90
반응형
'데이터 엔지니어링 정복 > Algorithm' 카테고리의 다른 글
[Greedy] 백준 - 강의실배정 (0) | 2021.06.04 |
---|---|
[Greedy] 백준 - 신입사원 (0) | 2021.06.03 |
[Greedy] 백준 - 동전0 (0) | 2021.06.03 |
[완전탐색] 프로그래머스 - 모의고사 (0) | 2021.04.11 |
[정렬] 프로그래머스 - K번째 수 (0) | 2021.04.11 |
Comments