728x90 정렬34 [python] 백준 1826 연료 채우기 https://www.acmicpc.net/problem/1826 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net 문제 해결 처음에 재귀(recursion)를 이용해 풀려고 했다. 하지만 모든 경우의 수를 다 찾아보는 것은 불필요하고 recursionError가 뜨게 되었다. 힙을 이용해 문제를 풀 수 있다고 하는데 어떻게 풀어야할지 몰랐다. 다른 분들의 풀이를 참고하여 풀 수 있게 되었다. 바로 계속 지나간다고 가정하고 만약 기름이 부족하게 되면 기름을 채우고 나서~채우.. 2023. 4. 4. [python] 백준 1092 배 https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 문제 해결 어떻게 배분해야할지 사고는 쉬웠다. 하지만 sort를 쓰고 이중 for문을 쓰는 것은 상당히 부담스러웠다. 하지만 방법이 생각이 안나 python3로 돌렸지만 시간초과 났다. pypy3로는 잘 풀렸다. 다른 풀이는 딱히 없는 것 같다. CODE import sys input = sys.stdin.readline n = int(input()) C = list(map(int.. 2023. 3. 21. [python] 백준 10825 국영수 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 문제 해결 sort의 key를 잘 활용하여 정렬할 수 있는가 묻는 문제 입력 단계에서 정수, 문자열 모두 가져오기 때문에 정렬할 때 key 안에 구성의 type을 신경써줘야한다. n이 크기 때문에 시간단축 해줄수록 좋다. CODE import sys input = sys.stdin.readline n = int(input()) A = [list(input().rstrip()... 2023. 3. 16. [python] 백준 2437 저울 https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 문제 해결 추를 작은 것 부터 놓으면서 넘어가는 수를 찾아야한다. 처음에는 추를 안올려 놓으면 [0,0] 측정 가능하다는 것을 알음 1인 추를 올려 놓으면 [0,1] 측정 가능하다는 것을 알음 2인 추를 올릴려 할 때 현재 max값 1에서 현재 min값 0+2 까지 1칸 차이기 때문에 연속적이라는 것을 알음 따라서 2를 올려 놓으면 [0,3] 측정 가능하다라는 것을 알음 5인 추를 올려 놓으려 할 때 현재 .. 2023. 3. 11. 이전 1 ··· 5 6 7 8 9 다음 728x90