Programmers / 마법의 엘리베이터 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 마법의 엘리베이터 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 ..
Programmers / [3차] 방금 그곡 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: [3차] 방금 그곡 - 2단계 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 ..
Programmers / 두 큐 합 같게 만들기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 두 큐 합 같게 만들기 (2단계) - 투포인터 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 inse..
Programmers / 롤케이크 자르기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 롤케이크 자르기 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/132265#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘..
Programmers / 숫자 변환하기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 숫자 변환하기 (2단계) - dp, bfs 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일단 dfs로 접근하면 시간초과가 난다. 그리고 내 코드의 bfs로 접근시도 시간초과가 났다(왜지!) 그래서 최종적으로 dp로 접근하였다. 나의 풀이 - bfs def solution(x,y,n): answer = -1 if x == y: return 0 queue = [(x+n,1),(..
Programmers / 뒤에 있는 큰 수 찾기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 뒤에 있는 큰 수 찾기 - 2단계 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록..
Programmers / 덧칠하기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 덧칠하기 (2단계) 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/161989#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. ..
Programmers / 귤 고르기 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 귤 고르기 - 2단계 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어..
Programmers / 선입선출스케줄링 / Python 파이썬
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 선입선출 스케줄링 (3단계) - 이분탐색 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 처리해야 할 동일한 작업이 n 개가 있고, 이를 처리하기 위한 CPU가 있습니다. 이 CPU는 다음과 같은 특징이 있습니다. CPU에는 여러 개의 코어가 있고, 코어별로 한 작업을 처리하는 시간이 다릅니다. 한 코어에서 작업이 끝나면 작업이 없는 코어가 바로 다음 작업을 수행합니다..
[Python] 웹크롤링 - 태그를 이용해서 크롤링하기 - (최종) 한국민족문화대백과사전 크롤링하기
·
python/자동화
from bs4 import BeautifulSoup import urllib.request as req import argparse # 특정 웹사이트로 접속하기 위해 import re from urllib.parse import quote import json from tqdm import tqdm def crawling_list(url): res = req.urlopen(url).read() soup = BeautifulSoup(res, 'html.parser') #분석 용이하게 파싱 find_tag = soup.findAll("a",{"class":"depth1-title"}) # "div",{"class":"section_body"} korean_hist = dict() for i in range..
[Python] 웹크롤링 - 태그를 이용해서 크롤링하기 - (3) 사전을 Json파일로 저장
·
python/자동화
사전으로 저장하고자 하는 내용을 크롤링하면서 오류가 있는 것을 발견했습니다. from bs4 import BeautifulSoup import urllib.request as req import argparse # 특정 웹사이트로 접속하기 위해 import re from urllib.parse import quote def crawling_list(url): res = req.urlopen(url).read() soup = BeautifulSoup(res, 'html.parser') #분석 용이하게 파싱 find_tag = soup.findAll("a",{"class":"depth1-title"}) # "div",{"class":"section_body"} korean_hist = dict() for i..
[Python] 웹크롤링 - 태그를 이용해서 크롤링하기 - (2) 사전구축
·
python/자동화
이전 코드에서 나아가 한국민족대백과사전의 사전을 크롤링을 통해 만들어보겠습니다. from bs4 import BeautifulSoup import urllib.request as req import argparse # 특정 웹사이트로 접속하기 위해 import re def crawling_list(url): res = req.urlopen(url).read() soup = BeautifulSoup(res, 'html.parser') #분석 용이하게 파싱 find_tag = soup.findAll("a",{"class":"depth1-title"}) # "div",{"class":"section_body"} korean_hist = dict() for i in range(len(find_tag)): txt..