[λ°±μ€] λ¬Έμμ΄ / node.js 1427 μνΈμΈμ¬μ΄λ
π1427 μνΈ μΈμ¬μ΄λ
1427λ²: μνΈμΈμ¬μ΄λ
첫째 μ€μ μ λ ¬νκ³ μνλ μ Nμ΄ μ£Όμ΄μ§λ€. Nμ 1,000,000,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€.
www.acmicpc.net
λ΄ νμ΄
const fs = require("fs");
const input = fs.readFileSync('/dev/stdin').toString().trim();
for (let i = 0; i < input.length; i++) {
numLst.push(input[i]);
}
console.log(
numLst
.sort((a, b) => b - a)
.join("")
.trim()
);
2143 => "2143"
νλμ λ¬Έμλ‘ μ λ ₯λ°μ
for λ¬Έμ λλ©° λ°°μ΄μ λ£κΈ°
μ λ ¬
λ€λ₯Έ νμ΄
const arr = require("fs").readFileSync("/dev/stdin").toString().trim().split("").map(i=>parseInt(i));
const nums = Array(10).fill(0);
arr.forEach(i => nums[9-i] += 1);
let sorted = "";
for (let i=0; i<nums.length; i++) {
sorted += String(9-i).repeat(nums[i]);
}
console.log(sorted)
μ λ²μ μ λ ¬ν λ μ»λ λ°©λ²μΈλ° μκ°μ΄κ³Ό λ μ λͺ»ν΄μ μ΄λ²μ μμΌμ§λ§
nums = [0,0,0,0,0,0,0,0,0,0] λ₯Ό λ§λ€κ³
arrλ₯Ό λλ©° num[arr]μ ν΄μ€λ€
* λ€λ§ μ¬κΈ°μ λ΄λ¦Όμ°¨μ μ λ ¬μ΄κΈ° λλ¬Έμ num[9-i]
* λ°λ³΅λ μκ° λμ¬ κ²½μ°λ₯Ό λλΉν΄ repeat(nums[i])
λμ νμ΄ λ°©λ²κ³Ό ν° μλμ°¨μ΄κ° λμ§ μλλ€.
πλλ λ¨μν μ λ ¬ = sort ν΄μΌμ§ λΌκ³ μκ°νλλ° , μ΄λ° μ λ° λ°©λ²μΌλ‘ νΈλ μ¬λλ€μ μ¬κ³ λ°©μμ΄ κ·κ°μ΄ λλ€.
λ΄νμ΄ (μ€λ΅)
const fs = require("fs");
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
n = parseInt(input.shift());
numLst = Array(n).fill(0);
input.map((ele, i) => (numLst[ele] += 1));
numLst.map((ele, i) => {
if (ele !== 0) {
for (let j = 0; j < ele; j++) {
console.log(i);
}
}
});
μ λ ₯μ«μλ²μκ° ν¬λ©΄ μκΎΈ μλ‘μ΄ λ°©λ²μ΄ νμνλ€λ κ°λ°μ΄ μ겨 μκΉ λ°°μ΄ μΈλ±μ€λ₯΄ μ΄μ©ν΄ νλ λ°©λ²μ μκ°ν΄ 보μμ§λ§ λ©λͺ¨λ¦¬μ΄κ³Ό
κ·Όλ° μ¬κ±Έ..
nodejsλ‘ λ§μ μ¬λμλκ±° μ€νμΈκ°μ...?
μ΄μ©μ§...
μλ¬΄νΌ μλ©λλ€ λ Έλμ μ΄μμ€λ‘!!!!
π1931 νμμ€
1931λ²: νμμ€ λ°°μ
(1,4), (5,7), (8,11), (12,14) λ₯Ό μ΄μ©ν μ μλ€.
www.acmicpc.net
λ΄νμ΄(μ€λ΅)
const fs = require("fs");
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
n = input.shift();
let numLst = [];
input.map((ele, i) => {
numLst.push(ele.split(" "));
});
numLst = numLst.sort((a, b) => a[1] - b[1]);
numLst = numLst.sort((a, b) => a[0] - b[0]);
let startTime = 0;
let endTime = 0;
let cnt = 0;
for (let i = 0; i < numLst.length; i++){
if (startTime >= numLst[i][0]) {
cnt += 1
endTime = numLst[i][1];
}
}
νμ λλλ μκ° -> νμ μμνλ μκ°μΌλ‘ μ λ ¬ν ν
νμ λλλ μκ°>-= μμνλ μκ° μ κ²½μ°λ₯Ό μΈλ €κ³ νλ€κ° μ€λ₯λ₯Ό λ°κ²¬νλλ°
μ΄λ°μμΌλ‘ μ λ ¬νλ©΄ λκ°μ§ κΈ°μ€μΌλ‘ μ λ ¬νλκ²μ΄ μλλΌ,
λ§μ§λ§ κΈ°μ€μΌλ‘λ§ μ λ ¬μ΄ λλ κ²μ΄μλ€.!!!!!
βοΈ μλ°μ€ν¬λ¦½νΈμ λ€μ€μ‘°κ±΄ sort
[[1,2] , [3,4]] μ λ°°μ΄ λλ²μ§Έμμ=> 첫λ²μ¬ μμ λ‘ μ λ ¬νκΈ°
sorted_list = input.sort((a, b) => {
if (a[1] > b[1]) return -1;
if (a[1] < b[1]) return 1;
if (a[0] > b[0]) return -1;
if (a[0] < b[0]) return 1;
return 0;
});
β οΈμ¬κΈ°μ μ£Όμν μ !
μ§κΈ inputμ λ¬Έμμ΄μ΄κΈ° λλ¬Έμ parseIntλ₯Ό ν΄μ£Όμ§ μμΌλ©΄ λ¬Έμ μ λμ½λλ₯Ό κΈ°μ€μΌλ‘ μ λ ¬νκΈ°
λλ¬Έμ νμ μ΄ λ¬΄μμΈμ§ μ νν νμΈν΄μΌ νλ€.
λ΄ νμ΄
const fs = require("fs");
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
n = input.shift();
let numLst = [];
input.map((ele, i) => {
numLst.push(ele.split(" "));
});
//2κ°μ§ κΈ°μ€ μ λ ¬
numLst = numLst.sort(function (a, b) {
if (parseInt(a[1]) > parseInt(b[1])) return 1;
if (parseInt(a[1]) < parseInt(b[1])) return -1;
if (parseInt(a[0]) > parseInt(b[0])) return 1;
if (parseInt(a[0]) < parseInt(b[0])) return -1;
return 0;
});
//νμλ<=νμμμ
let endTime = 0;
let cnt = 0;
for (let i = 0; i < numLst.length; i++) {
if (endTime <= parseInt(numLst[i][0])) {
cnt += 1;
endTime = parseInt(numLst[i][1]);
}
}
console.log(cnt);
1) 2κ°μ§ κΈ°μ€μΌλ‘ μ λ ¬ (νμλλλ μκ° -> νμ μμνλ μκ°)
2) νμ λλλ μκ°μ΄ μμνλ μκ°λ³΄λ€ μκ±°λ κ°μ κ²½μ° (νμ κ°λ₯ ) μΌλ‘ μ νκ³ μ !
λ€λ₯Έ νμ΄
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
input.shift()
input = input.map(v => v.split(' ').map(v => +v)).sort((a, b) => a[1]-b[1] || a[0]-b[0])
let [time, answer] = [0, 0]
for (let [s, e] of input)
if (time <= s) {
time = e
answer++
}
console.log(answer)
μΈμμ
* split & int λ‘ λ°κΎΈκΈ° & λ€μ€μ‘°κ±΄ λ°°μ΄μ΄ νλ²μ λλ€λ...
* forλ¬Έμμ λ³μ 2κ°λ‘ λ릴 μ μλ€λ...
* λ³μλ νλ²μ μμ±, μ΄κΈ°ν ν μ μλ€λ...
λ§μ κ²μ μ κ² λ κ³ μμ μ½λμλ€.
π JSλ₯Ό μμ μμ¬λ‘ λ€λ£¨λ μ¬λμ΄ λμ..