Back
Python 이진탐색 알고리즘
Python 이진탐색 알고리즘 1~100 사이에서 숫자 하나를 맞춰야 한다면 알고리즘의 관점에선 가장 효율적인 방법은 범위의 절반인 50을 시도해보는 것이다. 대답이 UP이라면 1~49는 후보에서 없어지고, 대답이 DOWN이라면 51~100이 후보에서 없어지기 때문이다. 이러한 방법을 이진탐색이라 한다. finding_target = 14 finding_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] def is_existing_target_number_binary(target, array): current_min = 0 current_max = len(array) -1 current_guess = current_min + curren..
Ajax 기본 및 예제
Ajax는 반드시 JQuery가 임포트 된 곳에서만 적용됨. 서버가 클라이언트한테 데이터를 내려줄 때 그 포맷을 JSON 이라 하는데, (* JSON 형식 = 딕셔너리와 리스트의 조합과 생김새가 똑같음) Ajax는 JSON을 좀 더 편하게 내려받기 위한 방법. 기본 골격 $.ajax({ type: "GET", url: "여기에URL을입력", data: {}, success: function(response){ console.log(response) } }) 만약 저 url을 입력하면 url의 값을 모두 response가 가지고 오는것. response가 아니더라도 상관없지만 보통 response로 작성함. 해당 html페이지에 response가 들어온다고 이해하면 됨. Ajax 예제 functio..
백준 알고리즘 4344 파이썬
www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net n = int(input()) for _ in range(n): # for문으로 위에서 입력한 n의 범위만큼 반복 시킨다. nums = list(map(int, input().split())) # for문 안에 input을 만들어 입력한 input값을 list로 nums에 저장시킨다. avg = sum(nums[1:])/nums[0] # 평균값을 구한다. 윗줄에 만든 nums리스트의 1번쨰부터 더해간다. 0번째는 학생 수 cnt = 0 # 평균 이상의 학생을 구하기 위해 cnt란 변수를 ..
백준 알고리즘 4673 파이썬
def d(n): next = n # 계산 결과 저장 for value in list(str(n)): # 숫자를 문자열로 하나씩 분리 next += int(value) #문자열을 다시 숫자로 변환 return next excap = [] #생성자가 있는 수 리스트 for count in range(10001): excap.append(d(count)) #생성자가 있는 수 저장 excap.sort() #생성자가 2개 있는 경우가 있기 때문에 정렬하여 구분 for count in range(1,10000): # 계속 돌리고 excap에 해당되지 않는 것을 프린트 돌린다. if count in excap: continue else: print(count)
Flask jinja2, requests - args 활용 예제
Flask jinja2 활용 예제 HTML {# 모두 똑같음. result값에 있는 word를 가지고 오는 것. result.word , result["word"]#} {{ word }} {# None이 아닐 경우에만 표시 #} {% if result.pronunciation != None %} /{{ result.pronunciation }}/ {% endif %} {% if status=="new" %} {% else %} {% endif %} {% for definition in result.definitions %} {{ definition.type }} {{ definition.definition.encode('ascii','ignore').decode('utf-8') }} {% if defin..
파일 업로드
파일 업로드 예제 PYTHON @app.route('/diary', methods=['POST']) def save_diary(): title_receive = request.form['title_give'] content_receive = request.form['content_give'] ## 파일 받는 것 ## file = request.files["file_give"] # 확장자를 구분하기 위한 것. 가장 마지막에 있는 .을 제거하고 마지막 것을 가지고옴 extension = file.filename.split('.')[-1] # 시간을 가지고 오는 것 today = datetime.now() mytime = today.strftime('%Y-%m-%d') filename = f'file-{myt..
다음 뉴스 랭킹 크롤링(Crawling) 예제
다음 뉴스 랭킹 크롤링(Crawling) 예제 @app.route('/api2/list', methods=['GET']) def show_news2(): db.finalPrac2.remove({ }); headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} data = requests.get('https://news.daum.net/', headers=headers) soup = BeautifulSoup(data.text, 'html.parser') trs = soup.select("#cSub > div >..
Python Flask, Ajax 활용 예제 - 링크 따오기
개인 미니 프로젝트 제작 기록 & 복습 용 링크 가져오면, 좋아요, 삭제, 댓글, 댓글수 버튼을 함께 가져오는 부분 예제. 각각의 기능들은 따로 따로 구현해야함. 밑의 HTML과 PYTHON은 링크를 단순하게 가져오는 크롤링과 그것을 HTML에 어떻게 적용하느냐는 예제 [ HTML ] function showArticles(url) { $.ajax({ type: "GET", url: "/memo", data: {}, success: function (response) { let list = response['list_receive'] for (let i = 0; i < list.length; i++) { let title = list[i]['title'] let img = list[i]['img'] le..