ํฐ์คํ ๋ฆฌ ๋ทฐ
Algorithm/Baekjoon
[JavaScript] ๋ฐฑ์ค 2457๋ฒ - ๊ณต์ฃผ๋์ ์ ์
๊ฐ๋ฐ๊ฐ๊ตด๐ธ 2022. 8. 4. 00:51[๋ฌธ์ ]
https://www.acmicpc.net/problem/2457
[ํ์ด]
find()๋ฅผ ํตํด ๊ฐ์ฅ ์ ๊ฒ ๊ฝ์ ํผ์ธ ์ ์๋ ์กฐํฉ์ ๊ตฌํด์ฃผ์๋๋ฐ, find()๋ ์๋์ ๊ฐ์ ์์ ์ ๋ฐ๋ณตํฉ๋๋ค.
- ์์ง ๋ฐฉ๋ฌธํ์ง ์์(ํผ์ฐ์ง ์์) ๊ฝ ์ค์์ ํ์ฌ ์กฐํ์ค์ธ ์์ ๋ ์ง์ ๊ฐ๊ฑฐ๋ ์ด์ ์ ํผ์ด์ ๊ฐ์ฅ ๋ฆ๊ฒ ์ง๋ ๊ฝ์ ์ฐพ์์ ํด๋น ๊ฝ์ index๋ฅผ ์ ์ฅ
- ๋ง์ฝ ๊ฝ์ ์ฐพ์ง ๋ชปํ๋ค๋ฉด ์กฐ๊ฑด์ ๋ง์กฑํ์ง ๋ชปํ์ฌ 0์ ์ถ๋ ฅํ๊ณ ์ข ๋ฃ
- ๋ง์ฝ ์กฐํ๋ index์ ์ข ๋ฃ ๋ ์ง๊ฐ 12์ 1์ผ ์ดํ๋ผ๋ฉด ์ด์ ๊น์ง ํ ๊ฝ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๊ณ ์ข ๋ฃ
- index๋ฅผ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ํ๊ณ ๊ฝ์ ๊ฐ์ + 1์ ํตํด ๊ฐฑ์
๋ฐ๋ผ์ ์์ 1๋ฒ ์ฝ๋์ ๋์ ๊ณผ์ ์ ์ดํด๋ณด๋ฉด
- index 1์ [ 1, 1, 6, 30 ] ์ ๊ณ ๋ฅธ ํ, ์กฐํํ ๊ธฐ์ค ๋ ์ง๋ฅผ 6 / 30๋ก ๊ฐฑ์ ํ๊ณ cnt++
- index 3์ [ 6, 10, 12, 10 ] ์ ๊ณ ๋ฅธ ํ, ์ข ๋ฃ ๋ ์ง๊ฐ 12 / 10๋ก 12์ 1์ผ ์ดํ์ ๋ ์ง์ด๊ธฐ ๋๋ฌธ์ ์ข ๋ฃํ๊ณ cnt++์ ์ถ๋ ฅ
[์ฝ๋]
const fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split('\n');
const N = parseInt(input[0]);
const arr = [];
for(let i=1;i<=N;i++) {
arr.push(input[i].split(" ").map(Number));
}
// ๊ธฐ์ค ๋ ์ง m, d๋ฅผ ๋์ง ์๊ณ ๊ฐ์ฅ ์ค๋ ์ง์๋๋ ๊ฝ์ ๊ณ ๋ฆ
let cnt = 0;
const find = () => {
let m = 3;
let d = 1;
let index = -1;
let endMonth = 0;
let endDay = 0;
const visit = Array(N).fill(false);
while(true) {
for(let i=0;i<N;i++) {
if(visit[i]) {
continue;
}
if(arr[i][0] < m || (arr[i][0] === m && arr[i][1] <= d)) {
if(arr[i][2] > endMonth || (arr[i][2] === endMonth && arr[i][3] > endDay)) {
index = i;
endMonth = arr[i][2];
endDay = arr[i][3];
}
}
}
if(index == -1) {
console.log(0);
break;
}
m = arr[index][2];
if(m === 12) {
console.log(cnt + 1);
break;
}
d = arr[index][3];
visit[index] = true;
cnt++;
endMonth = 0;
endDay = 0;
index = -1;
}
}
find();
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/node.js] ๋ฐฑ์ค 20437๋ฒ - ๋ฌธ์์ด ๊ฒ์ 2 (1) | 2022.08.23 |
---|---|
[JavaScript] ๋ฐฑ์ค 13549๋ฒ - ์จ๋ฐ๊ผญ์ง 3 (0) | 2022.08.05 |
[JavaScript] ๋ฐฑ์ค 1806๋ฒ - ๋ถ๋ถํฉ (0) | 2022.08.01 |
[Java] ๋ฐฑ์ค 5214๋ฒ - ํ์น (0) | 2022.07.18 |
[Java] ๋ฐฑ์ค 2011๋ฒ - ์ํธ์ฝ๋ (0) | 2022.07.17 |
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ์๊ณ ๋ฆฌ์ฆ
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- git
- ๋ฐฑ์ค javascript
- Baekjoon
- ์๋ฐ
- ๋ฐฑ์ค
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- map
- fp
- ์ฝ๋ฉํ ์คํธ
- ํฌํฌ์ธํฐ
- JavaScript
- ์ ์ญ ๋ณ์
- TDD
- ๋ฐฑ์ค node.js
- ๋คํธ์ํฌ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ์ด๋ถํ์
- ์นด์นด์ค ์ธํด
- ์ด์์ฒด์
- ๋์์ธ ํจํด
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ ์์ปฌ ํ๊ฒฝ
- ์๋ฐ์คํฌ๋ฆฝํธ
- http
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ํ๋กํผํฐ
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- ํ๋กํ ์ฝ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
๊ธ ๋ณด๊ดํจ