본문 바로가기
반응형

백준31

[백준] 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.
[백준] 9단계 - 17478번 (파이썬) check! 17478번 https://www.acmicpc.net/problem/17478 어렵다.... while문을 쓰고 싶은 충동을 이겨내고 재귀함수를 써보려고 노력했는데, 뭔가 아직 어색하다. 재귀함수만들 때 return을 많이 쓰게 되는데, 이건 print를 써야 하는 것 같아서 코드 짜는데 더 어색했다.ㅋㅋㅋㅋ # n은 출력횟수. # question은 챗봇이라서 질문따라 답변 달라질 수 있으므로 포함시킴(필수x). def recur(question, n, cnt=""): # cnt는 ""로 초기화함. if question == "재귀함수가 뭔가요?": if n == 0: print(cnt + "\"재귀함수가 뭔가요?\"") print(cnt + "\"재귀함수는 자기 자신을 호출하는 함수라네\"") pri.. 2022. 7. 3.
[백준] 9단계 - 10870번 (파이썬) 10870번 https://www.acmicpc.net/problem/10870 # n번째 피보나치 수 구하기 def pibo(n): if n == 0: return 0 elif n==1: return 1 else: return pibo(n-2) + pibo(n-1) x = int(input()) print(pibo(x)) 2022. 7. 3.
반응형