https://school.programmers.co.kr/learn/courses/30/lessons/120866

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(board) {
    const vector = [[1,0],[-1,0],[0,1],[0,-1], [-1,-1], [-1, 1], [1,1], [1, -1]];
    
    for(let i = 0 ; i < board.length ; i++) {
        for( let j = 0 ; j < board[0].length; j++) {
            if(board[i][j] === 1) {
                const vectors = [];
                vector.forEach(v => {
                    const x = v[0] + i;
                    const y = v[1] + j;
                    
                    if(x >= 0 && y >= 0 && x < board.length && y < board[0].length) {
                        vectors.push([x,y]);
                    }
                });
                
                vectors.forEach((v) => {
                    if(board[v[0]][v[1]] === 0) {
                        board[v[0]][v[1]] = -1;
                    }
                })
            }
        }
    }
    
    let answer = 0;
    board.forEach((bb) => {
        bb.forEach((b) => {
            if(b === 0) {
                answer++;
            }
        })
    })
    
    return answer;
}
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120878

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

const gcd = (num1, num2) => {
    let result = -1;
    for(let i = 2; i <= Math.min(num1, num2) ; i++) {
        if(num1 % i === 0 && num2 % i === 0 ) {
            result = i;
        }
    }
    return result;
}

const solve = (num) => {
    const arr = [];
    let i = 2;
    while(i <= num) {
        if(num % i !== 0) {
            i++;
        } else {
            arr.push(i);
            num = num / i;
            i = 2;
        }
    }
    return arr;
}

function solution(a, b) {
    var answer = 0;
    while(gcd(a,b) > 0) {
        const Gcd = gcd(a,b);
        a = a/Gcd;
        b = b/Gcd;
    }
    
    const result = solve(b).filter(a => a !== 2 && a !== 5);
    
    return result.length === 0 ? 1 : 2;
}
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120882

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(score) {
    let answer = new Array(score.length).fill().map((v) => 0);
    let args = [];
    score.forEach((sc, index) => {
        let total = 0;
        sc.forEach((s) => {
            total += s;
        })
        args.push({arg : total/sc.length, index: index});
    });
    
    args.sort(function(a,b) {
        return b.arg - a.arg;
    });
    
   
    let tmp = [];
    let max = 0;
    let rank =1;
    while(true) {
        if(args.length === 0){
            break;
        }
        
        if(tmp.length === 0) {
            tmp.push(args.shift());
            max = tmp[0].arg;
        }
        
        args.forEach((a) => {
               if(max === a.arg) {
               tmp.push(a);
            } 
        });
        
        args = args.filter((a) => max !== a.arg);
            
        for(let i = 0 ; i < tmp.length ;i++) {
            answer[tmp[i].index] = rank;
        }
        
        rank += tmp.length;
        tmp = [];
        max = 0;
        
    }
        
    return answer;
}
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120923

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(num, total) {
    var answer = [];
    if(num % 2 !== 0) {
        // 홀수
        let n = Math.floor(num/2);
        for(let i = 0 ;i < num ; i++ ){
            answer.push((total/num)-n+i);
        }
        return answer;
    }
    // 짝수
    let m = 0;
    for(let i = 1 ; i < num ; i++){
        m += i;
    }
    
    let n = (total-m)/num;
    for(let i = 0; i < num ; i++) {
        answer.push(n+i);
    }
    return answer;
}
728x90

+ Recent posts