분류 전체보기 136

웹 스크래핑으로 뉴스 기사 링크 받아오기

웹스크래핑을 이용하여 IT 관련 뉴스를 보기 위한 코드입니다 웹 스크래핑 내용 2024.01.13 - [Python] - 웹 스크래핑 웹 스크래핑 웹크롤링: 웹사이트에서 URL, 키워드 수집(검색엔진이 웹사이트를 인덱싱하기 위해) 웹스크래핑: 웹사이트에서 필요한 데이터 긁어오기 VsCode 터미널에서 파이썬 가상환경 만들기 라이브러리 간 dogfoot1.tistory.com 네이버 뉴스의 IT/과학 분야의 헤드라인 뉴스의 제목과 기사 링크를 받아옵니다 https://news.naver.com/main/main.naver?mode=LSD&mid=shm&sid1=105 IT/과학 : 네이버 뉴스 모바일, 인터넷, SNS, 통신 등 IT/과학 분야 뉴스 제공 news.naver.com 필요 라이브러리 임포트 ..

Python 2024.01.13

Python에서 엑셀, csv 다루기

- 엑셀 1. 터미널 환경에서 openpyxl 설치 pip3 install openpyxl 2. openpyxl 라이브러리 임포트 from openpyxl import Workbook 3. 워크북 생성 wb = WorkBook() wb = WorkBook(write_only=True) 읽지 않고, 저장만 할거라면 write_only = True 사용 4. 워크시트 생성 : .create_sheet() sheet = wb.create_sheet('워크시트 이름') 하나의 워크북에 여러 워크시트가 만들어질 수 있다. +기존의 워크북의 워크시트를 사용할 것이라면 openpyxl 라이브러리 임포트 및 워크북의 워크시트 불러오기 from openpyxl import load_workbook wb = load_wo..

Python 2024.01.13

웹 스크래핑

웹크롤링: 웹사이트에서 URL, 키워드 수집(검색엔진이 웹사이트를 인덱싱하기 위해) 웹스크래핑: 웹사이트에서 필요한 데이터 긁어오기 VsCode 터미널에서 파이썬 가상환경 만들기 라이브러리 간 버전 충돌 방지를 위해 가상환경을 만든다 python -m venv [가상환경 이름] cd [가상환경 이름]\Scripts activate 가상환경에서 웹 스크래핑을 위한 라이브러리 설치(터미널 창에서) 1. requests 서버에 request를 보내고 응답을 리턴 pip3 install requests 2. beautifulsoup4 HTML의 데이터 추출을 위해 pip3 install beautifulsoup4 웹 스크래핑을 하는 방법 웹사이트의 html 코드를 가져온다(requests 사용) -> html ..

Python 2024.01.13

[프로그래머스/Python] 최빈값 구하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 많이 들어 있는 숫자를 리턴. 똑같이 많으면 -1 리턴 1. 딕셔너리 사용 딕셔너리 value로 sort() 딕셔너리의 .items() 이용 .items()를 다시 list로 바꾼다(튜플 형태로 리스트에 저장된다) sort()를 사용한다. key = lambda x:x[1] 파라미터를 사용 def solution(array): dic = {} for i in set(array): di..

카테고리 없음 2024.01.11

[프로그래머스/Python] 카드 뭉치

문제 https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 카드 뭉치 중 맨 앞의 카드만 사용하여 goal을 만들 수 있으면 Yes 리턴, 아니면 No 리턴 1. deque() 라이브러리 from collections import deque deque()를 이용하여 스택과 큐처럼 이용할 수 있다. deque() 생성 queue = deque() queue = deque([1,2,3,4,5]) deque() 함수 .appendleft(x) 맨 앞..

[프로그래머스/Python] 숫자 짝궁

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr X, Y 의 공통된 수가 없으면 -1 리턴, 공통된 수가 있다면 최대값을 만들어서 리턴 1. min() 사용 0~9 갯수를 저장할 리스트를 만든다 for문을 돌면서 각 리스트에 갯수 저장 최대값을 만들기 위해 9부터 0까지 아래로 내려간다 둘 다 리스트 안이 0이 아닐 때 두 리스트 중 최솟값을 찾는다 : min() 최솟값만큼 숫자 반복 문자열 반복 : * 예) 'a' * 3 -> 'aaa..

[프로그래머스/Python] 같은 숫자는 싫어

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연속된 숫자가 나오면 하나만 리스트에 넣어서 리턴 1. 스택 사용 stk = [] 맨 뒤에 추가 stk.append(값) 맨 뒤를 삭제 stk.pop() 맨 뒤의 결과만 본다 stk[-1] 맨 뒤의 결과와 넣을 값이 같지 않다면(연속되지 않는다는 뜻) append() def solution(arr): answer = [arr[0]] #1부터 len(arr)-1까지 돌면서 앞에 있으면 넣지않는..

카테고리 없음 2024.01.11

[프로그래머스/Python] 시저 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자에 n만큼 더하여 만든 암호 리턴 ord() 와 chr()을 사용 chr(정수) -> 아스키코드 문자로 바꿔줌 ord(문자) -> 아스키코드 숫자로 바꿔줌 ord('a') #97 ord('z') #122 ord('A') #65 ord('Z') #90 #26개가 있음 소문자, 대문자, 공백을 나눠서 생각 if, elif, else로 나눔 알파벳은 총 26개라는 것을 이용 def soluti..

[프로그래머스/Python] 신고 결과 받기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 중복된 신고 제외 k번 이상 신고된 사용자를 '신고한 사람'에게 메일 전송한 값을 리턴 set() 사용 report를 set()를 이용하여 중복 요소 제거 report를 split()하여 신고한 사람(리스트[0])과 신고 당한 사람(리스트[1])을 나눈다 -> ["신고자 id1", "신고당한자 id1"] 2차원 배열 report 예시) [['frodo', 'neo'], ['apeach', '..

[프로그래머스/Python] 둘만의 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스킵할 알파벳 제외 인덱스만큼 뒤의 알파벳으로 바꿔서 문자열로 리턴 chr() ord() 사용 chr(정수) -> 아스키코드 문자로 바꿔줌 ord(문자) -> 아스키코드 숫자로 바꿔줌 ord('a') #97 ord('z') #122 ord('A') #65 ord('Z') #90 #26개가 있음 a~z까지 아스키코드 숫자를 넣은 리스트 만들기 set() - set() 를 이용한 차집합 + s..