on
완주하지 못한 선수
완주하지 못한 선수
728x90
알고리즘
JAVA 프로그래머스 완주하지 못한 선수
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/42576
2. 풀이
어려운 부분은 없지만 for문 밖에 int i;를 입력해줘야되는 부분이 조금 헷갈렸다.
import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; //participant와 completion을 정렬 Arrays.sort(participant); Arrays.sort(completion); //마지막 선수가 완주하지 못한경우 break가 걸리고, //for문을 나와 그때의 i값을 answer에 넣어준다. int i; for(i=0; i
[다른사람의 풀이]
map을 이용해서 푼 방법. getOrDefault, keyset 같은경우는 익숙하지 않은 함수라 공부가 조금 더 필요할것 같다
import java.util.HashMap; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap hm = new HashMap<>(); //map에 참가선수 명수 입력 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; } }
728x90
from http://yuricoding.tistory.com/67 by ccl(A) rewrite - 2021-11-12 16:27:43