완주하지 못한 선수
풀다가 포기....
function solution(participant, completion) {
let answer =0
let result = {};
participant.concat(completion)
.map((el)=> !result[el]? result[el]=1 : result[el] +=1)
let value= Object.values(result)
let min=Math.min(...value)
console.log(result)
value.map((el,i)=>{if(el===min) answer+=i}
)
return Object.keys(result)[answer]
}
solution(["mislav", "stanko", "mislav", "ana"],["stanko", "ana", "mislav"])
멘토님답
function solution(participant, completion) {
let answer =0
for(let i =0; i< completion.length;i++){
if(participant.includes(completion[i])){
participant.splice(participant.indexOf(completion[i]),1)
}
}
return participant[0]
}
// splice
// 1. 배열에만 사용가능하다.
// 2. 원하는 위치(인덱스)의 데이터를 제거하거나 추가할 수 있다.
// 3. 원본이 저장
function solution(participant, completion) {
let answer ={}
// 참가한 선수의 이름과 참가자수를 정리
for(let i =0; i< participant.length;i++){
answer[participant[i]]===undefined
? answer[participant[i]]=1
: answer[participant[i]]++
}
// 완주한 명단에서 선수이름을 제거
for(let i =0; i< completion.length;i++){
if(answer[completion[i]]){
answer[completion[i]]--
}
}
for(let key in answer){
if(answer[key]!==0){
return key
}
}
}
function solution(participant, completion) {
completion.sort((a,b)=>a>b ?1:-1) // 오름차순으로 정렬
participant.sort((a,b)=>a>b ?1:-1)
let answer=""
for(let i =0; i< participant.length;i++){
console.log(participant[i], completion[i])
if(participant[i]!== completion[i]){
answer+=participant[i]
break;
}
}
return answer
}
function solution(participant, completion) {
completion.sort((a,b)=>a>b ?1:-1) // 오름차순으로 정렬
participant.sort((a,b)=>a>b ?1:-1)
const answer=participant.filter((name,i)=>{
return name !== completion[i];
})
return answer[0]
}```