完走していない選手
問題の説明
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
I/O例
participant completion return
["leo", "kiki", "eden"] ["eden", "kiki"] "leo"
["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko"
["mislav", "stanko", "mislav", "ana"] ["stanko", "ana", "mislav"] "mislav"
私のコメント(JAVA)
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Arrays.sort(participant);
Arrays.sort(completion);
for (int i=0; i<participant.length; i++) {
if (i+1 == participant.length || !participant[i].equals(completion[i])) {
answer = participant[i];
break;
}
}
return answer;
}
他の人の解答(JAVA)
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hm = new HashMap<>();
// HashMap에 참가자 이름을 키값으로 명 수를 추가
for (String player : participant) hm.put(player, hm.getOrDefault(player, 0)+1);
// HashMap에서 완주자 이름을 찾아 명 수를 뺀다.
for (String player : completion) hm.put(player, hm.get(player)-1);
// HashMap에서 값이 0이 아닌 키값이 완주하지 못한 선수이다.
for (String key : hm.keySet()) {
if (hm.get(key) != 0) {
answer = key;
}
}
return answer;
}
}
私の解答(JavaScript)
function solution(participant, completion) {
let answer = '';
participant.sort();
completion.sort();
for (let i=0; i<participant.length; i++) {
// 배열의 해당 인덱스가 없을 경우 undefind를 반환한다.
if (participant[i] !== completion[i]) {
answer = participant[i];
break;
}
}
return answer;
}
他の人の解答(JavaScript)
function solution(participant, completion) {
const map = new Map();
for (let i=0; i<participant.length; i++) {
let a = participant[i],
b = completion[i];
map.set(a, (map.get(a) || 0) + 1);
map.set(b, (map.get(b) || 0) - 1);
}
for (let [k, v] of map) {
if (v > 0) return k;
}
return 'nothing';
}
Reference
この問題について(完走していない選手), 我々は、より多くの情報をここで見つけました https://velog.io/@ehcho/완주하지-못한-선수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol