이 블로그 검색

2018년 7월 4일 수요일

[백준 1461] 도서관

[ 백준 1461 : 도서관 ]

이 문제는 단순하게 생각하면 쉽게 풀 수 있다.
-10000~10000의 좌표를 입력했을때 m개씩 좌표를 없애면된다.
하지만!!
0 좌표를 왔다갔다 해야하므로 *2를 해서 답에 더해주고 가장 나중에 m개 좌표는 한번만 더해주면된다.

나는 처음에 정렬을 한 뒤 양수좌표부분 음수좌표부분 중에 더 큰 부분m개를 없애고 시작한다.
그리고 두 부분에 더이상 지울 좌표가 없으면 답을 출력하면 된다.

처음에는 우선순위큐로 풀었는데 코드가 지저분하게 긴것 같아서 그냥 배열로 구현했다.
처음에 양수부분 음수부분 둘 중 사이즈가 0인 부분도 있을 수 있으므로
애초에 사이즈를 1부터 시작한다.
5개 원소가 들어가 있으면 사이즈는 6이 나오도록.
이러면 처음에 하는 예외처리를 두 줄로 정의할 수 있다고 생각했다.

댓글 없음:

댓글 쓰기

[백준 16236] 아기 상어

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