Python/백준] 8980 택배
Coding Test/Python2023. 12. 27. 19:14Python/백준] 8980 택배

https://www.acmicpc.net/problem/8980 8980번: 택배입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이www.acmicpc.net그리디 문제이다.상자들을 보내는 마을로 heapq를 사용해서 정렬해 받는다.어떤 마을에 도착했을 때 받을 수 있는 택배 상자를 차에서 내린다.이제 보낼 상자를 택배에 올려야한다 일단 보내는 마을의 상자는 받아서 택배에 싣는다.만약 상자를 넣었는데 최대 용량 초과라면 가장 늦게 주는 마을의 택배량을 초과량만큼 줄인다.줄였는데도 초과용량이 남았다면 그다음 늦게 주는마을 줄이는 방식이다i..

[Python/백준] 13164 행복 유치원
Coding Test/Python2023. 12. 25. 19:05[Python/백준] 13164 행복 유치원

https://www.acmicpc.net/problem/13164 13164번: 행복 유치원행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로www.acmicpc.net그리디 문제이다.주어진 값 들의 사이 값들을 전부 분석해 저장한뒤 N-K만큼 빼내면 조를 K개 정했을때 필요한 금액이 된다.이유는1 | 3 | 5 | 6 | 10이렇게 있다고 했을 때 3개 조를 만들라면 2 : 2 : 1 로 조를 나눠야하고 2명씩 묵는 조가 2개가 나와야한다.그리고 이 2개의 조안에서 차이를 보면 되기 때문이다.또한 2개의 조를 만들라고 했을 땐  3 : 2 로 가는 것보다 4 ..

[Python/백준] 6549_히스토그램에서 가장 큰 직사각형
Coding Test/Python2023. 12. 15. 10:19[Python/백준] 6549_히스토그램에서 가장 큰 직사각형

https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤www.acmicpc.netstack 문제이다. 지금까지 추가된 상자가 언제부터 이어져왓는지 기록해야한다.만약 추가되는 상자가 이전 상자보다 작다면 현재 상자와 이전 큰 상자의 차이는 필요가 없어짐으로 이전 상자가 얼마나 큰지 계산해서 가장 큰 상자인지 max로 비교해 검증해준다. 현재 상자는 큰 상자와 같이 이어짐으로 현재상자가 큰 상자가 추가됐을때 추가된것처럼 기록한다..

[Python/백준] 17298 오큰수
Coding Test/Python2023. 12. 14. 11:03[Python/백준] 17298 오큰수

https://www.acmicpc.net/problem/17298 17298번: 오큰수첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다.www.acmicpc.netstack 문제이다. 오른쪽의 수를 stack에 저장하는 방식으로 나아가야한다.출력할 값은 N개 만큼의 0을 가지고있는 output배열에 기록한다.주어진 수열의 오른쪽 부터 시작해서 전체를 반복한다.stack에 현제값이랑 비교해서 작거나 같은 값이 있으면 pop하고 아닐경우 현제 값을 stack에 넣어준다.이떄 stack에 현제값이랑 비교해서 작은 값이 없다면 -1을 output에 기록하고 아닐경우 output에..

[Python/백준] 2493 탑
Coding Test/Python2023. 12. 14. 09:23[Python/백준] 2493 탑

https://www.acmicpc.net/problem/2493 2493번: 탑첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1www.acmicpc.netstack을 사용하는 문제이다.stack에 현재 타워에서 보이는 왼쪽 빌딩들을 저장해 나가면서 풀어나가면 된다.stack에는 타워의 높이와 타워의 위치를 저장한다.처음 stack에는 0번째 타워의 크기와 위치를 저장해둔다. 첫타워는 왼쪽에 타워가 없어 무조건 0이 출력되니 output에도 0을 넣어둔다.1 부터 N까지 for문을 돌려서 모든 타워를 계산한다.stack이 빌때까지 혹은 break를 당할..

[Python/백준] 9466 텀 프로젝트
Coding Test/Python2023. 12. 7. 09:53[Python/백준] 9466 텀 프로젝트

https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을www.acmicpc.net깊이 우선 탐색 문제이다. n번돌리면서 1번친구가 속할 곳이있는지...n번친구가 속할 곳이있는지 다 계산하면 시간 초과가 난다. 따라서 일반적인 dfs로 하면 안되고 한번이라도 팀계산에 참여했으면 방문했다고 기록해야한다.문제의 주어진 값들을 다 받는다. 방문을 했는지 기록할 visit배열을 만들어 준다.n만큼 반복하면서 만약 n이 방문한 곳이 아니라면 n을 방문했다고 표시하고 n이 선택한 사람을 dfs인자로..

728x90
반응형
image