이 블로그 검색

2018년 9월 17일 월요일

[백준 14569] 시간표 짜기

[ 백준 14569 : 시간표 짜기 ]

으음.. 완전탐색으로 풀긴했는데 이게 정해인지는 확실하지않다.
그런데 AC가 나와서 조금 당황했다.

일단 로직은 INT형 이차원 배열을 만들어 체크를 한다.
[과목번호][수업시간] 이런식으로 그리고 [과목번호][0]과 [과목번호][51]에는 수업시간의 수를 집어넣는다.

이제 M에서 입력을 받으면서 비어있는 교시를 입력할때마다 1~N까지의 이차원 배열을 보고 체크를 한 후 [51]-- 를 해준다.
[과목번호][51] == 0 이되면 이 수업은 들을 수 있다고 판단하면된다.


사실 여기서 조금 이상했다.
학생수는 M 즉, 10000명이다. 그럼 일단 시간복잡도가 최악에 O(10000)이된다. 여기에
비어있는 교시 갯수가 50이 들어오니 O(10000 * 50) 그리고 한번 입력할때마다 1000개의 수업을 살펴보게되면 O(10000*50*1000) 으로 이미 1초를 넘기는것같았는데
어째선지 시간은 1초는커녕 0.02초가 나왔다;;;

무튼 AC를 받았는데 다른 풀이법으로 풀어보도록 생각해봐야할 문제.

댓글 없음:

댓글 쓰기

[백준 16236] 아기 상어

[ 백준 16236 : 아기 상어 ] 2018 삼성전자 sw직무 하반기 기출문제입니다. 역대 삼성전자 기출문제가 그렇듯 역시나 BFS,DFS,완탐,DP,단순구현 입니다. 저는 문제를 단순히 BFS로 풀어갔습니다. 조건만 잘 지킨다면 한번에 ...