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

 

14425번: 문자열 집합

첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다.  다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어

www.acmicpc.net

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

const [N, M] = input[0].split(" ").map(i => Number(i));
const dic = {};
let result = 0;

for(let i = 1 ; i <= N ; i++) {
    if (dic[input[i]] === undefined) {
        dic[input[i]] = 0;
    }
}


for(let i = N+1 ; i < N+1+M ; i++) {
    if (dic[input[i]] !== undefined) {
        result++;
    }
}

console.log(result);
728x90

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

 

1436번: 영화감독 숌

666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워

www.acmicpc.net

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

const N = Number(input);
let num = 666;
let n = 0;
while(true) {
    if(num.toString().includes('666')) {
        n+=1;
    }

    if(n === N) break;
    else num +=1;
}

console.log(num);
728x90

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

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

/**
 * 문제:
 * 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다.
 * 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다.
 * 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다.
 * 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.
 * 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.
 *
 * 입력:
 * 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.
 *
 * 출력:
 * 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다.
 */

const fs = require('fs');
const input = fs.readFileSync('./test.txt').toString().trim();
let answer = 0;

for(let i = 1 ; i <= Number(input) ; i++) {
    const arr = i.toString().split("");
    let sum = i;
    arr.forEach((a) => {
        sum += Number(a);
    });

    if(sum === Number(input)) {
        answer = i;
        break;
    }
}

console.log(answer);
728x90

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

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net

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

const n = Number(ip[0]);
ip.shift();

let input = new Set(ip);
input = Array.from(input);

input.sort(function(a,b) {
    if(a.length !== b.length) return a.length - b.length;
    else {
        return a > b ? 1 : -1;
    }
});

input.forEach((i, index) => {
    console.log(i);
});
728x90

+ Recent posts