본문 바로가기
반응형

복습18

[백준] 11단계 - 2751번 (파이썬) check! 2751번 https://www.acmicpc.net/problem/2751 정렬문제인데, merge sort를 써도 시간초과가 계속 떠서 알아보니... sorting의 문제가 아니라 input의 문제였다. input()을 반복적으로 이용하면 시간이 초과가 뜬다. 모듈 sys의 stdin.readline()를 이용해서 시간을 줄여야 한다. 주의해야 할 점은 readline()을 쓰면 개행문자(?) (\n, \t 등)가 포함된 채 입력된다는 점인데... 실제로 풀어본 결과 음...strip()을 쓰지 않아도 정답이 떴다. 왜 그런지 잘 모르겠다. 조금 더 조사해봐야 겠다. 여하튼, 일단은 정답이라고 뜬 코드는 아래와 같다. (두 버전 다 그냥 sort 내장함수를 이용했다.) # 버전1 (개행문자 없애는 작.. 2022. 7. 10.
[백준] 9단계 - 11729번 (파이썬) check! 11729번 https://www.acmicpc.net/problem/11729 하노이의 탑은 대표적인 재귀 문제이다. 하지만...매번 잊어버리고...매번 어려워한다. 이번에도 혼자 풀다가 엄청 이상하게 풀어버렸다. 내가 돌리면 잘 돌아가고 답도 맞는데 백준에서 돌리면 계속 런타임에러가 떴다. 메모리초과가 뜨기도 하고...ㅎㅎㅎ 망했어요... 결국 위키백과의 도움을 받았다. 매번 볼 때마다 신기한 풀이다. 언제쯤 익숙하게 이런 코드를 생각해낼 수 있을까? # 참고: 위키백과 # https://ko.wikipedia.org/wiki/%ED%95%98%EB%85%B8%EC%9D%B4%EC%9D%98_%ED%83%91 # n: 이동시킬 원판 개수 # from_ : 시작 원판, to_ : 도착 원판, via_ .. 2022. 7. 5.
[백준] 8단계 - 4948번 (파이썬) check! 4948번 https://www.acmicpc.net/problem/4948 애증의 소수....😫 이번에도 '시간초과' 문제가 계속 발생했다. 어떤 분이 '에라토스테네스의 체'를 살펴보라고 하셔서 에라토스테네스의 체를 이용해서 문제를 풀었더니 다행히 문제가 풀렸다. 위키백과에 있는 에라토스테네스의 체 코드를 그대로 이용하는 방식(버전1)과 해당 코드를 응용해서 문제에 맞게 변형하여 푼 방식(버전2), 총 2가지 방법으로 문제를 풀어봤다. (참고로 버전1이 더 깔끔한 것 같긴 하다...) # 버전1 # n 미만의 소수 찾기(에라토스테네스의 체). def prime_list(n): # 초기화: n개 요소에 True 설정(소수로 간주) ans = [True] * n for i in range(2, int(n .. 2022. 6. 29.
에라토스테네스의 체(소수 찾기) 백준 4948번을 푸는데 또 계속 시간초과가 떠서 결국 백준에서 질문을 검색해봤는데, '에라토스테네스의 체'에 대해 공부해보라는 답글을 발견했다. 그래서 '에라토스테네스의 체'에 대해서 한번 알아봤다. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org '에라토스테네스의 체'는 에라토스테네스(Eratosthenes)라는 수학자가 찾은, 소수 찾는 방법이라고 한다. 가장 작은 소수(2)를 하나 찾으면 그 소수의 배수들을 전부 제외시킴. → 남은 것들 중 가장 작은 소수 하나.. 2022. 6. 29.
반응형