반응형 DEVLOG/Algorithms34 [BOJ 11399] ATM 파이썬(Python) 풀이 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제해설 전형적인 그리디 알고리즘 문제입니다. 그리디 알고리즘은 쉽게 말해서, 미래를 고려하지 않고 현 시점에서 최선의 선택을 하는 알고리즘을 말합니다. 정답 코드 N = int(input()) times_list = list(map(int, input().split())) times_list.sort() sum = 0 cnt = 0 for t in times_list: cnt += t sum += cnt print(sum) 예제로 주어진 [3, 1, 4, 3, 2]를 오름차순으로 정렬하여 [.. 2019. 9. 3. [BOJ] 파이썬(Python) 주의사항 및 Tips float, double 등의 부동소수점 자료형은 나타내는 수의 범위가 넓지만, 그 범위 안에 있는 모든 수를 정확하게 나타낼 수 있는 게 절대 아닙니다. 범위도 넓은데 원하는 수를 다 표현할 수도 있고 int만큼이나 빠르기까지 하면 그건 상상의 세계에 있는 자료형이죠. 반례 찾기 가장 중요한 것은 직접 데이터를 만들어서 넣어 보는 것입니다. 입력으로 1 이상 1,000,000 이하의 정수 N이 주어진다면 N=1, N=2 등으 ㅣ최소 케이스가 잘 나오는지 확인하는 것이 좋습니다. 이런 입력이 특이 케이스가 되는 문제들이 종종 있고, 굳이 특이 케이스가 아니더라도 우리의 코드가 최소 케이스에서 틀릴 가능성은 얼마든지 있습니다. N=1,000,000 같은 최대 케이스를 넣었을 때 주어진 시간 제한 안에 답이.. 2019. 9. 1. [알고리즘] 추천 자료 모음 - 블로그, 유튜브 강의 자료구조, 알고리즘을 공부하면서 유용한 자료들을 모아가고 있습니다. 추가할만한 자료가 있으면 댓글로 남겨주시기 바랍니다. 알고리즘 공부 방법 알고리즘 공부, 어떻게 해야하나요? 오랜만에 정상적인 포스팅을 쓴다. 메일로 가장 많이 물어 보는 질문들이 [알고리즘 공부 어떻게 해야하나요? 어떻게 하셨어요? 뭘 공부해야 할 지 모르겠어요.] 와 같은 질문들이다. 위 질문에 가장 심플한 답변.. baactree.tistory.com BOJ 길라잡이 (Beta) 내년 동아리 활동을 대비해서 만들어 놓는 [BOJ를 여행하는 히치하이커를 위한 안내서]입니다. 아직 미완성이라 부족한 부분이 있습니다. 보완해야 할 것 같은 부분은 댓글로 달아주시면 감사하겠습니다. 2019. 8. 29. [BOJ 1920] 수 찾기 파이썬 풀이 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수들의 범위는 int 로 한다. www.acmicpc.net 잘못된 풀이 1 - 시간 초과 def binarySearch(nums, q): mid = len(nums)//2 if nums[mid] == q: print(1) elif len(nums) == 1: print(0) else: if q < nums[mid]: binarySearch(nums[:mid], q) else: binarySearch(nums[mi.. 2019. 8. 28. 이전 1 ··· 4 5 6 7 8 9 다음 반응형