분류 전체보기

기타/코딩테스트

[Python] 백준 1092번 - 배

1. 문제정보 https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 2. 풀이 2~3시간의 고민 끝에 전략을 생각했는데 구현에 실패해서 다른 블로그의 풀이를 참고했다. 전략은 유사했지만 구현하는 과정에서 큰 차이가 있었다. 나는 크레인을 없애가면서 날짜를 카운팅하는 전략이였지만 박스를 없애가면서 날짜를 카운팅하는 전략이 훨씬 깔끔했다. 문제 해결의 포인트는 한 크레인이 상자를 들지 못하면 다음 크레인에서 처리할 수 있고 전체 크레인이..

카테고리 없음

[Python] 백준 2212번 - 센서

1. 문제정보 https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 2. 풀이 수신국을 이동하며 거리를 계산하려고 했던 나에게는 굉장히 어려웠어서 다른 블로그의 풀이를 참고하여 구현했다. 수신국을 어느 센서 위에 설치해야 거리가 최소로 나올 것이라는 건 감각적으로 알겠는데 '어디에' 설치해야 하는 지를 알아내야 한다. 각 센서간의 거리를 구한 후 그 거리가 큰 곳부터 수신국을 설치하면 거리가 최소가 된다. 3. 코드 impo..

기타/코딩테스트

[Python] 백준 19598번 - 최소 회의실 개수

1. 문제정보 https://www.acmicpc.net/problem/19598 19598번: 최소 회의실 개수 2개 회의실로 3개 회의를 모두 진행할 수 있다. 예를 들어, 첫번째 회의실에서 첫번째 회의를 진행하고 두번째 회의실에서 두번째 회의와 세번째 회의를 진행하면 된다. 1개 회의실로 3개 회의 www.acmicpc.net 2. 풀이 그리디에서 시작 시간과 종료 시작이 주어지는 경우 시작 또는 종료 시간으로 정렬한 후 풀이하는 게 일반적이다. 이 문제의 경우 시작 시간으로 정렬한 후 강의실마다 마지막 수업의 종료시간을 체크하며 정답을 구해나가야 한다. 시작해야 하는 강의의 시작 시간이 각 강의실의 마지막 종료시간보다 빠르다면 새로운 강의실을 생성한다. 여기서 포인트는 마지막 종료시간을 비교하는 ..

기타/코딩테스트

[Python] 백준 1263번 - 시간관리

1. 문제정보 https://www.acmicpc.net/problem/1263 1263번: 시간 관리 진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영 www.acmicpc.net 2. 해결전략 시간표 문제와 같이 끝나는 시간을 기준으로 정렬한 후 첫 번째 할 일을 기준으로 시작 시간을 구한다면 해결될 줄 알았지만 문제점은 끝나는 시간이 같더라도 수행하는 시간이 다르다면 시작 시간이 달라질 수 있었기 때문에 한번 더 고민이 필요하다. 그리고 시작 시간을 구하는 것 뿐만 아니라 모든 할 일을 끝낼 수 있는지(중첩되는 시간이 없는지)를 확인이 필요하기 때문에 하나의..

lazy man
'분류 전체보기' 카테고리의 글 목록 (12 Page)