본문 바로가기

전체 글

(138)
[파이썬] (level4) 최고의 집합 문제 접근 방법 조건을 만족하지 않는 경우를 먼저 생각했다. Sum // n을 먼저 해야된다고 생각했다. 위 두 생각을 통해 접근하기로 생각했고, 10분 정도가 걸렸다. 나의 풀이 def bestSet(n, s): if n > s: return [-1] else: element = s // n answer = [element] * n if sum(answer) != s: diff = s - sum(answer) for i in range(1, diff+1): answer[-i] += 1 return answer return answer 우선, n이 sum보다 크다면 배열을 만들 수가 없다. 이 경우에는 return [-1]을 한다. element = s // n # 만약 n=8, S=80이면 몫은 9가 ..
[파이썬] (level4) 땅따먹기 게임 자소서 문제 접근 방법 pre_dup : 이전(previous) 라인의 max값 중복 유무 cur_dup : 현재(current) 라인의 max값 중복 유무 pre_max_idx : 이전 라인의 max값 인덱스 cur_max_idx : 현재 라인의 max값 인덱스 경우의 수를 직접 만들어봐야 한다. 인덱스의 겹침 유무는 나중에 판단해도 된다. max값이 리스트 내에 또 있는지가 중요하다. (즉, 중복 유무) 단, for문의 range는 0이 아니라 1 부터 시작한다고 가정한다. (1) pre_dup (O) cur_dup (O) 5 12 12 3
[파이썬] dict타입을 인덱스로 접근하기 dict를 인덱스로 접근하기 문제 items = {'cabbage' : 5000, 'Daikon' : 2000, 'Lettuce' : 3000} 다음과 같은 상품이 있다. 사용자의 입력 을 받아 해당 상품의 가격 을 출력하고자 한다. 해결방법 for index, (key, elem) in enumerate(items.items()): print(index, key, elem) print("Select Item(1-3) = ") goodsIdx = int(input()) print("Total Price : {} ".format(list(item.values())[goodsIdx-1])) enumerate 함수를 사용한다. item.values를 list로 만들어준다. 2번이 핵심이라고 볼 수 있다. it..
[파이썬] (level4) 숫자의 표현
[파이썬] (level4) 가장 큰 정사각형 찾기 (level4)가장 큰 정사각형 찾기 5중 포문 이용하기 데이터 개수 1452행 * 5열 배열일 때 (즉, 7260)개 일때, 100번 실행 결과의 평균 >>> print("실행시간 : ", time.time()-start_time) 1.1673초 아이디어 처음 풀었을 때는 DP의 개념을 몰랐기 때문에 노가다로 한번 풀어봤다. def findLargestSquare(board): # board의 길이를 측정한다. 다만, 전역변수 max_x와 max_y를 좌표값으로 활용해야 하기 때문에 (실제 길이 - 1)을 한다. max_x = len(board) - 1 max_y = len(board[0]) - 1 max_square = 0 # 정사각형의 최대 넓이 for x in range(0, len(board))..
[Django] 네이버 영화 API 사용하기 1주차 Naver API 연동하기 Django에서 Naver API 활용하기 네이버 영화 API의 예제코드는 영화탭이 아니라 블로그 탭에 있다. # 네이버 검색 API예제는 블로그를 비롯 전문자료까지 호출방법이 동일하므로 blog검색만 대표로 예제를 올렸습니다. # 네이버 검색 Open API 예제 - 블로그 검색 import os import sys import urllib.request client_id = "YOUR_CLIENT_ID" client_secret = "YOUR_CLIENT_SECRET" encText = urllib.parse.quote("검색할 단어") url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json ..
[파이썬] pyenv, virtualenv 설치 및 가상환경 생성하기 pyenv, virtualenv Pyenv와 Virtualenv 설정하기 OS : Ubuntu 16.04 LTS Mac OS X : 10.11 왜 설치해야 하죠? pyenv는 로컬환경(즉, 나의 컴퓨터)에 다양한 파이썬 버전을 확인할 수 있습니다. 요약을 하면 "쉽게 설치할 수 있다" 라는 것을 강조하고 싶습니다. "엥!? 파이썬만 설치하면 되는거 아냐?" 라고 생각하실 수 있지만, 사실 python에 기반한 수많은 배포판들이 존재합니다. Anaconda : 파이썬 기반의 개방형 데이터 과학에 특화된 플랫폼입니다. Jython : 파이썬으로 자바를 구현한 플랫폼입니다. pypy : 파이썬은 C로 짜였습니다. pypy는 파이썬으로 파이썬을 만들었습니다. 사용해볼 일이 있을까? 라는 생각이 들겠지만 특정 상..
[파이썬] 카카오 블라인드 공채 1번 문제 q1 친구따라서 풀어본 카카오 알고리즘 문제였다. 7문제가 출제되었고 부분 점수는 없었다. 나같은 경우에는 1번 문제, 5번 문제만 손댈 수 있었는데 1번 문제는 완벽하게 맞았다. 겨우 한 문제 맞았지만, 이정도라면 충분히 만족(?)스럽다. 꾸준하게 나아가자. 문제 def solution(n, arr1, arr2): answer = [] return answer 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로..