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

 

프로그래머스

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

programmers.co.kr

function solution(sizes) {
    var answer = 0;
    sizes.forEach((s) => {
        if(s[1] > s[0]) {
            let tmp = s[0];
            s[0] = s[1];
            s[1] = tmp;
        };
    });
    
    const w = [];
    const h = [];    
    
    for(let i = 0; i < sizes.length ; i ++) {
        w.push(sizes[i][0]);
        h.push(sizes[i][1]);
    }
    
    answer = Math.max(...w);
    answer *= Math.max(...h);
    
    return answer;
}
728x90

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split("\n");

const N = Number(input[0]);
let answer = 0;

for(let i = 0 ; i < N ; i++) {
    let cnt = 0;
    let view = [];
    const tmp = input[i+1].split("");
    let prev = '';
    tmp.forEach((t, index) => {
        if(index === 0) prev = t;
        if(prev !== t && !view.includes(t)) {
            view.push(prev);
            prev = t;
        }
        if(view.includes(t)) {
            cnt++;
        }
    });
    if(cnt > 0) answer++; 
}

console.log(N-answer);
728x90

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

 

프로그래머스

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

programmers.co.kr

function solution(array) {
    // 최빈값 여러개면 -1 리턴
    if(array.length === 1){
        return array[0];
    }
    
    const obj = {};
    array.forEach((a) => {
       if(obj[a] === undefined) obj[a] = 1;
        else obj[a] += 1;
    });
    
    const keyList = Object.keys(obj);
    let cnt = 1;
    let max = -1;
    let answer = '';
    keyList.forEach(key => {
        if(max === obj[key]) {
            cnt ++;
        }
        if(max < obj[key]) {
            max = obj[key];
            answer = key;
            cnt = 1;
        }
    });
        
    
    return cnt > 1 ? -1 : Number(answer);
}
728x90

https://www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split("\n");

const N = Number(input[0]);
const stack = [];

for(let i = 0 ; i  < N ; i++) {
    if(Number(input[i+1]) !== 0 ) stack.push(Number(input[i+1]));
    else stack.pop();
}

let answer = 0;
stack.forEach((s) => {
    answer += s;
});

console.log(answer);
728x90

+ Recent posts