[ 백준 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를 받았는데 다른 풀이법으로 풀어보도록 생각해봐야할 문제.
이 블로그 검색
피드 구독하기:
댓글 (Atom)
-
아마 나와 비슷한 나이대의 학생들은 대부분 대학에서 수업을 들으면서 꾸준하게 들었을 것 같다. 물론 내가 그래서 그렇다. 4차산업~ IT의 시대~ 빅데이터~ 데이터 마이닝~ 하지만 컴퓨터 관련 전공자가 아니고 더군다나 공학 계열 전공자가 아니라...
-
[ 백준 1222 : 홍준 프로그래밍 대회 ] 자연수 N 이 입력될때마다 약수들을 구한다. 그리고 약수들 중 두 번 이상 나오는 수들 중 약수*나온횟수 가 가장 큰 수가 답이된다. 테케 3 번을 보면 5 4 6 3 8 9 이렇게 나...
-
[ 백준 1024 : 수열의 합 ] 간만에 푼 백준~ 쉬운 문제라고 생각하고 풀었는데 계속 틀려서 봤더니 예외 처리를 한 개 안해준것이 있었다. 만약 이 글을 보기전에 풀었을때 채점이 60%에서 자꾸 틀린다면 90%확률로 나와 같은 실수를 ...
[백준 16236] 아기 상어
[ 백준 16236 : 아기 상어 ] 2018 삼성전자 sw직무 하반기 기출문제입니다. 역대 삼성전자 기출문제가 그렇듯 역시나 BFS,DFS,완탐,DP,단순구현 입니다. 저는 문제를 단순히 BFS로 풀어갔습니다. 조건만 잘 지킨다면 한번에 ...
댓글 없음:
댓글 쓰기