파이썬 40

[프로그래머스/Python] 신규 아이디 추천

문제 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정규식을 사용하자! 2024.04.15 - [Python] - 정규식(regular expression) 정규식(regular expression) re모듈을 통해 사용 import re 문자열에 대한 연산에 사용. 문자열 패턴 표현, 문자열 수정, 분할 많이 쓰는 패턴 패턴 설명 ^패턴 이 패턴으로 시작해야 함 패턴$ 이 패턴으로 끝나야 함 패턴1|패턴2 dogfoot1.tistory.co..

[프로그래머스/Python] 다트 게임

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정규식을 사용하자! 2024.04.15 - [Python] - 정규식(regular expression) 정규식(regular expression) re모듈을 통해 사용 import re 문자열에 대한 연산에 사용. 문자열 패턴 표현, 문자열 수정, 분할 많이 쓰는 패턴 패턴 설명 ^패턴 이 패턴으로 시작해야 함 패턴$ 이 패턴으로 끝나야 함 패턴1|패턴2 dogfoot1.tistory.co..

[프로그래머스/Python] 야근 지수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n시간 야근 하는 동안 야근 지수를 최소화하여 야근 지수 제곱을 리턴 n시간 안에 작업량을 다 끝내면(작업량 합이 n보다 작거나 같으면) 0을 리턴 sum(works)

[프로그래머스/Python] 콜라츠 추측

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 재귀 global cnt cnt = 0 def solution(num): global cnt if cnt > 500: return -1 if num == 1: return cnt if num%2 == 0: cnt += 1 return solution(num//2) else: cnt += 1 return solution(num*3 + 1) 2. 반복문 def solution(num): c..

[Python] 힙

힙: 힙 속성을 만족하는 트리 힙 속성 1. 완전 이진 트리( 마지막 레벨 직전의 노드들은 다 채워져 있고, 마지막 레벨은 다 채워질 필요가 없더라도, 왼쪽부터 오른쪽으로 채워져 있어야 함) 2. 최대 힙 -> 부모 노드의 값이 자식 노드의 값보다 크거나 같아야 한다 최소 힙 -> 부모 노드의 값이 자식 노드의 값보다 작거나 같아야 한다 파이썬 라이브러리를 사용한 heap import heapq heapq는 최소 힙을 사용 heapq 메소드 시간 복잡도 heapq.heapify() O(N) heapq.heappush() O(logN) heapq.heappop() O(logN) heapq 메소드 1. heapq.heapify(리스트) 리스트를 힙 속성을 만족시키도록 만들어준다. arr = [1, 4, 5,..

Python 2024.02.05

웹 스크래핑으로 인기 급상승 동영상 데이터 저장하기

저는 유튜브 인기 급상승 동영상을 1시간마다 업데이트하여 50만회 이상인 동영상의 정보만 엑셀에 저장해보겠습니다! 필요 라이브러리를 임포트 #웹 스크래핑 from selenium import webdriver from bs4 import BeautifulSoup #엑셀 from openpyxl import Workbook, load_workbook import os import pandas as pd import datetime 엑셀 워크북 생성/불러오기 if not os.path.isfile("유튜브인기급상승동영상.xlsx"): #엑셀 워크북 생성 wb = Workbook(write_only=True) ws = wb.create_sheet('인기급상승동영상') #컬럼 정보 ws.append(['시간',..

Python 2024.01.22

[프로그래머스/Python] 베스트 앨범

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42579#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr genres: 음악 장르 plays: 재생 횟수 음악 장르를 key, 장르에 대한 전체 재생 횟수를 value로 딕셔너리를 만든다 def solution(genres, plays): answer = [] dic = {} #장르에 대해서 한 번 d = {} for i in range(len(genres)): d[genres[i]] = d.get(genres[i], 0) + plays[i..

[프로그래머스/Python] 기능개발

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 큐 사용 남은 퍼센트 리스트에 저장 def solution(progresses, speeds): answer = [] #몇 퍼센트 남았는지: 100-progresses percent = [100-i for i in progresses] 배포 가능 날짜 세기 percent : 남은 퍼센트 speeds : 하루에 끝낼 수 있는 퍼센트 percent // speeds 나머지가 있으면 +1 ,..

[프로그래머스/Python] 햄버거 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 1 순서가 되면 +1씩 해서 총 카운트 수를 리턴 1. 스택 사용 재료를 하나씩 스택에 넣다가 재료가 1이면 스택에 쌓인 3개를 본다 3개가 1 2 3이면 카운트 def solution(ingredient): #1 2 3 1 answer = 0 stk = [] for i in ingredient: if i == 1: if stk[-3:] == [1, 2, 3]: del stk[-..

Selenium 사용하여 웹 자동화하기3- 뉴스 기사 스크랩

1. IT 관련 기사를 스크래핑 네이버 IT 카페고리 뉴스 기사의 헤드라인 뉴스를 뽑는다 https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105 IT/과학 : 네이버 뉴스 모바일, 인터넷, SNS, 통신 등 IT/과학 분야 뉴스 제공 news.naver.com 태그 추출은 지난 블로그를 토대로 진행한다. 2024.01.13 - [Python] - 웹 스크래핑으로 뉴스 기사 링크 받아오기 웹 스크래핑으로 뉴스 기사 링크 받아오기 웹스크래핑을 이용하여 IT 관련 뉴스를 보기 위한 코드입니다 웹 스크래핑 내용 2024.01.13 - [Python] - 웹 스크래핑 웹 스크래핑 웹크롤링: 웹사이트에서 URL, 키워드 수집(검색엔진이 웹사이트를 인 do..

Python 2024.01.17