Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
문제이해가 안가요..ㅠㅠ
첫번째 테스트 케이스를 나름 해석해봤는데 [in] 2 2 1 1 3 2렙 문제, 2~3렙 문제, 1렙 문제, 1~2렙 문제, 3렙 문제 세트1 : 1 / 2 /3 (레벨이 고정된 문제 배치) 세트2 : 1,2 / 2 / 3 (1~2 레벨의 문제를 2레벨로 확정 후 레벨1에 배정) 세트3 : 1 / 2,3 / 3 (2~3 레벨 문제를 3레벨로 확정 후 2레벨에 배정) 세트4 : 1,2 / 2,3 / 3 (1~2 레벨의 문제를 2레벨로 확정 후 레벨1에 배정, 2~3 레벨 문제를 3레벨로 확정 후 2레벨에 배정) 세트5 : 1 / 1,2 / 3 (1~2 레벨의 문제를 1레벨로 확정 후 레벨2에 배정) 세트6 : 1 / 2 / 2,3 (2~3 레벨의 문제를 2레벨로 확정 후 레벨3에 배정) 세트7 : 1 / 1,2 / 2,3 (1~2 레벨의 문제를 2레벨로 확정 후 레벨2에 배정, 2~3 레벨 문제를 2레벨로 확정 후 3레벨에 배정) 이렇게 해석했는데 문제에서 예시로 보여준대로 해석...
JS
적합한 세트 수가 나올 때 까지 탐색을 진행해야 함 0~ 하기에는 O(n)이며, n이 너무 너무 너무 큼. 1초에 10억번의 연산을 진행해도, 2조 번의 연산에 2,000초 (30분) 소모 그래서 이진 탐색을 통해 범위를 좁힌다면, O(log n). 최대 41번의 연산을 통해 값을 구할 수 있게 됨. const fs = require('fs'); const input = fs.readFileSync('input.txt', 'utf8').trim().split(/\n+/); const [N, T] = input[0].split(' ').map(Number); const scenarios = input.slice(1).map(scenario => scenario.split(' ').map(Number)); function test(list, count) { let prevValue = 0 for(let i = 0; i < list.length; i +=...