3주차 수요일 알고리즘

문혜민·2022년 4월 13일

5주차 수업내용

목록 보기
4/8

폰켓몬

function solution(a) {
let result = new Set()
for(let i=0; i<a.length; i++){
  result.add(a[i])
}
let mon= [...result]  
let answer=[[a,b],] 

for(let i=0; i<mon.length; i++){
 for(let l=1; l<mon.length; l++){
   if(answer[answer.length-1][0]!==mon[i]
     && answer[answer.length-1][1])!==mon[l]
{   answer.push([mon[i],mon[l]].sort()) }
}
}

return answer


}

먼가 너무 복잡하게 풀려고 시도한것 같다...
다시!!!

function solution(a) {
let result = new Set()
for(let i=0; i<a.length; i++){
  result.add(a[i])
}
let mon= [...result]  

return mon.length > a.length/2 ? a.length/2 : mon.length

}

맞춰버려뜨아아아~

멘토님답

function solution(nums) {
let answer=[]
for(let i=0; i<nums.length; i++){
  if(answer.length < (nums.length/2)
    && answer.includes(nums[i])===false
    ){ 
    answer.push(nums[i])
  }
}
return answer.length
}

set사용시

function solution(nums) {
let answer = new Set()
for(let i=0; i<nums.length; i++){
  if(answer.size<(nums.length/2))
  answer.add(nums[i])
}

return answer.size

}
solution([3,3,3,2,2,4])

set에 사용되는 메서드인 size 를 사용 해서 더 간단하게 푸셨움...

메서드 사용시

function solution(nums) {
let answer = new Set()
nums.forEach(monster=>{
  if(answer.size<(nums.length/2))
  answer.add(monster)
})
  return answer.size
}

초초간단

function solution(nums) {
const answer = new Set(nums).size
const limit=nums.length/2
return answer >limit ? limit : answer
}
profile
프론드엔드 개발하면서 메모장처럼 쓰는즁

0개의 댓글