목록python (18)
DevKim
programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr [ 알고리즘 / 자료구조 ] 해시 [문제 접근] defaultdict으로 list 형태의 딕셔너리를 생성해주고, 제한 사항에 맞춰 하나씩 정렬해주고 조건을 달아주면 된다 [코드] from collections import defaultdict def solution(genres, plays): answer = [] dic=defaultdict(list) max_g=defau..
programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr [ 알고리즘 ] DP [문제 접근] 1,2만을 이용해서 n을 만드는 문제와 같다고 생각하여 바로 DP를 떠올렸다. 규칙을 찾기 위해 1~5칸 까지 종이에 그려보고, 규칙성을 찾아냈음 종이에 그려보고 바로 규칙을 찾은걸보면 DP 중엔 쉬운 문제라고 생각이 든다 *dp table을 [0]*(n+1) 로 하면 런타임에러가 떠..
programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만 programmers.co.kr [ 알고리즘 ] 구현 [문제 접근] 문제 자체는 어렵지 않으나, 하나씩 다 구해서 최대값 구하면 안되는 문제이고, 아이디어가 딱 떠오르면 풀리는 문제 중 하나이다. 두 수의 차가 적어야 곱이 큰 것만 깨달으면 빠르게 풀어나갈 수 있는 문제 [코드] def solution(n, s): answer = [] if n > s: # 존재하지 않는 경우 ret..
programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr [ 알고리즘 ] 구현 [문제 접근] 처음에 row와 col을 뒤집는 과정이 이 문제의 핵심키라고 생각한다. 이 문제를 통해 zip을 사용하여 한줄로 row와 col을 뒤집는 코드를 배웠다. 집합 set을 이용하여 2*2의 겹치는 캐릭터들을 합쳐주며 중복은 없애주고, 중복되어 없어진 부분을 임의의 문자로 채워주었다. 더 이상의 삭제되는 프렌즈가 없을 때까..
programmers.co.kr/learn/courses/30/lessons/72412
programmers.co.kr/learn/courses/30/lessons/12905 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr [ 알고리즘 ] 구현 [문제 접근] 언뜻보면 완전 탐색으로 구현할 수도 있는 문제지만, 그렇게 구현하면 엄청나게 복잡한 코드가 탄생할 것 이다. 표가 0,1로만 이루어져있다는 점과, 정사각형이라는 점을 이용하여 머리를 굴려야했던 문제이다 위,아래,왼쪽 대각선 중에 가장 최솟값을 자신에게 더해 나간다. 그렇게 되면 2로 이루어진 3개는 겹쳐서 2*2의 정사각형이 존재한다는 의미이므로 해당 표의 숫자가 1 이면 1+2로 한 변의 길이가 3인 정사각형을 보장할 수 있을 것..

본 포스팅은 파이썬3 버전을 기반으로 jupyter notebook을 사용합니다! (코랩이나 idle 사용해도 상관없어요) 오늘은 셀레니움을 이용하여 네이버 자동 로그인 실습을 진행해보겠습니다! ※크롤링은 사이트 특성상 불법으로 간주될 수 있으니 아무사이트에서나 실습을 진행하지않으시는게 좋습니다. 1. 셀레니움(selenium) 설치 -cmd 창에서 pip install selenium 으로 간편하게 설치하고 2.크롬 웹 드라이버(chrome web driver) 설치 1> 밑에 사이트에 접속합니다 https://chromedriver.chromium.org/downloads 2> 크롬 버전을 확인해서 자신의 크롬에 맞는 버전을 다운로드해요 ※크롬 버전은 chrome정보를 들어가면 ..

오늘은 영화리뷰 댓글들을 가져오는 실습을 진행해보겠습니다. https://movie.naver.com/movie/bi/mi/point.nhn?code=136900 저는 어벤져스:엔드게임 으로 실습을 진행하였습니다!! 1) 페이지 소스 코드 살펴보기 이전 포스팅에서 알려준대로 하면 원하는 부분의 소스코드를 쉽게 찾을 수 있어요 소스코드를 보면 div태그안에 li태그가 있고 그 안에 p태그안에 리뷰가 나와있는걸 볼 수 있어요!! *div(class="score_result") > li > p 이 순서만 잘 알아보면 코드는 쉽게 짤 수 있습니다 2) 코드 설명 import requests from bs4 import BeautifulSoup r=requests.get("https://movie.na..