에러 안나게 해주세요

Sales by Match - JavaScript 본문

Algorithm/leetcode

Sales by Match - JavaScript

Coom 2021. 1. 6. 18:27

문제

 

Array 문제인데, 자바스크립트 코드를 못짜서 못 푼 문제.. 나는 배열에서 같은 숫자를 찾으면 지울 때마다 Output을 올릴  생각을 했었는데, 30분 정도 헤매다가 결국 찾아보니, 객체 형태로 만들어서 key, value 포인트값으로 더해주는식으로 풀더라 접근의 방식이 아예 달랐음.

 

 

function sockMerchant(n, ar) {
    
    let obj = {};
    let point = 0;
    
    for(let num of ar) {
        obj[num] = obj[num] + 1 || 1;
        
        if(obj[num] % 2 === 0){
            point += 1;
        }
    }
    
    return point;
}

 

for .. of 형태로 풀이 했는데, 역시 MDN에서 찾아봤다. 이 말고 다른 풀이도 찾아봤는데 forEach 형태로 풀어낸 방법도

있었다. 이쪽이 더 나에겐 친숙했다. (자바)

 

function sockMerchant(n, ar) {
    
    let obj = {};
    let point = 0;
    
    ar.forEach((num) => {
        if(!obj[num]){
            obj[num] =0;
        }
        obj[num] = obj[num] + 1;
        
        if(obj[num] % 2 === 0) {
            point = point + 1;
        }
     })
    
    return point;
}

 

 

 MDN for ..of 참조 :developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of

'Algorithm > leetcode' 카테고리의 다른 글

13. Roman to Integer  (0) 2021.02.03
1037. Valid Boomerang  (0) 2021.01.29
11. Container With Most Water  (0) 2021.01.28
Simple Array Sum - JavaScript  (0) 2021.01.02
1480. Running Sum of 1d Array - JavaScript  (0) 2021.01.01