티스토리 뷰

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

 

29754번: 세상에는 많은 유튜버가 있고, 그중에서 버츄얼 유튜버도 존재한다

세상에는 많은 유튜버가 있고, 그중에는 버츄얼 유튜버도 존재한다. 매주 $5$회, 매주 총 $60$시간 이상 라이브 방송을 하는 버츄얼 유튜버를 진짜 버츄얼 유튜버라고 한다. 형식이는 버츄얼 유튜

www.acmicpc.net

const [[N, M], ...V] = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n')
	.map((v) => v.trim().split(' '));

const week = M / 7;
const vy = new Map();

for (let i = 0; i < N; i++) {
	const [name, day, stime, etime] = V.shift();
	const startTime = stime.split(':').map(Number);
	const endTime = etime.split(':').map(Number);

	const diff = endTime[0] * 60 + endTime[1] - startTime[0] * 60 - startTime[1];
	const w = Math.floor((day - 1) / 7);
	if (vy.has(name)) {
		const timeTable = vy.get(name);
		timeTable[w][0] += 1;
		timeTable[w][1] += diff;
		vy.set(name, timeTable);
	} else {
		const timeTable = Array.from(Array(week), () => Array(2).fill(0));
		timeTable[w][0] += 1;
		timeTable[w][1] += diff;
		vy.set(name, timeTable);
	}
}

const answer = [];
vy.forEach((tb, nm) => {
	let real = true;
	for (let i = 0; i < week; i++) {
		if (tb[i][1] < 3600 || tb[i][0] < 5) {
			real = false;
		}
		if (!real) break;
	}
	if (real) answer.push(nm);
});

if (answer.length == 0) {
	console.log(-1);
} else {
	console.log(answer.sort().join('\n'));
}
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함