본문 바로가기

Python 9

[백준,Python]16953번 A->B(Greedy) [백준,Python]16953번 A->B(Greedy) www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 이번 문제는 빠른 시간안에 문제 해결을 하였지만, 시간 초과 문제로 여러가지 고민을 하게 만들었던 문제이다. 문제 해결 알고리즘은 B를 처음에 10으로 나눈 나머지가 1인 것 체크하고 다음으로 2로 나눈 나머지가 0 인것들을 체크하여 b를 계속 수정하여 A에 도달하게 만들도록 구현하였고, 첫번째 코드는 시간초과, 두번째 코드는 그 문제를 해결한 코드이다. 처음 코드(시간초과) import sys input = sys.stdin.readline().strip a,b = map(int.. 2021. 2. 12.
Python3 와 PyPy3 차이 Python3 와 PyPy3 차이 평소에 알고리즘 문제를 풀면서 Python을 지원하는 언어를 선택할 때, Python3와 PyPy3가 대표적으로 있었다. 원래 알던 개념은 PyPy3가 Python3의 실행시 시간이 매우 오래 걸린다는 단점이 있어, 그것을 개선하고자 JIT컴파일 방식을 도입한 것이라고 알고 있었다. 그러면, PyPy3를 이용하는 것이 무조건 효율적인데, Python3도 지원하는 이유가 무엇일까 궁금해졌다. 또한 여러 자료들을 찾아보면서, 특정경우에는 메모리, 시간 모두 Python3로 선택하는 것이 우수할 경우가 있었고, 또 다른 경우에는 메모리는 Python3가 우세하지만 시간 상으로는 PyPy3가 우수한 경우도 있었다. 그래서 조금 더 깊게 이 두 가지(Python3 vs PyPy3.. 2021. 1. 20.
[파이썬, Python]PEP-8 코딩 스타일 [파이썬, Python]PEP-8 코딩 스타일 코딩을 하면서 좋은 코딩 습관, 스타일을 갖추는 것이 중요하다는 생각이 들었다. 그래서 기존 코딩 스타일을 버리고, 파이썬 프로그래머들의 일반적인 코딩 스타일인 'PEP-8' 스타일로 코딩 습관을 갖춰보려고 중요한 내용을 정리해 보려고 한다. www.python.org/dev/peps/pep-0008/ PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org 이 링크를 통해 들어가보면 PEP 8에 대한 자세한 소개가 있다. "PEP-8"스타일에 대한 장점 -이 코딩 스타일을 적용하는 것은 자신의 코드를 명료하게 할 뿐만 아니라, .. 2020. 12. 23.
[백준,Python]1003번 피보나치 함수(DP,dynamic programming) 1003번 피보나치 함수(DP)문제 : https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 이 문제는 테스트 케이스 수를 받고, 피보나치 함수를 실행했을 때 Fib(0)과 FIb(1), 0과 1이 몇 번 호출되는지 출력하는 문제입니다. 일단, 다른 문제들에서는 그렇게 시간 제한에 대한 제약이 없었는데, 이번 문제에서는 확실히 0.25초(감이 잘 안잡히긴 하지만) 줄어들었습니다.. 문제에서 요구하는 바가 확실히 , '이러이러한 식으로 풀면 컴파일 시간이 오래 걸리기에 풀지 마라'라고 정의 해 둔 것으로 느껴집니다. 일단 그런 것 상관없이 설마 시.. 2020. 8. 19.
[백준,Python]1932번 정수 삼각형(DP,dynamic programming) 백준 1932번 정수 삼각형(DP)문제 : https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최� www.acmicpc.net 정수 삼각형에서 이어지는 경로로 탐색했을 때 모든 노드 수의 합의 최댓값을 구하는 문제를 리뷰하겠습니다. Dynamic Programming으로 푸는 문제이며, 하나씩 depth을 증가시키며 이어지는 경로로 내려가며 탐색을 진행해야 하므로 배열 arr이 있다고 하면, arr[i][j] = arr[i][j] +( arr[i.. 2020. 8. 17.
[Python,파이썬]네이버 실시간 검색어 Crawling방법(다운로드) Python파이썬을 이용해 네이버 실시간 검색어들과 구글 이미지를 Crawling하는 방법 에 대해서 정리해보는 시간을 가지려 합니다! 네이버 실시간 검색어 Crawling -먼저 네이버로 접속하여 개발자도구(F12)를 누릅니다. 그러면 다음과 같은 화면이 나타납니다. 오른쪽에 보이는 Tab에 HTML문서가 보일텐데 여기서 Shift+Ctrl+C를 누르게 되면 왼쪽 홈페이지에서 나타나는 기능 중에 원하는 기능을 HTML에 어떻게 표시되고 있는 지 확인 할 수 있습니다.(ex->span.keyword) 그러면 이렇게 keyword에 표시되고 있는 단어가 실시간 검색어라는 것을 알 수 있습니다. 그러면 이런 정보들만 추출해서 가져오면 되겠죠? 방법을 2가지로 나누어 설명하겠습니다. (1번 방법이 안되시는 분.. 2020. 8. 15.