파이썬

· Coding Test
문제설명 제한사항 입출력 예 문제 분석 파이썬 입력값으로 2개의 리스트가 입력된다. 노래의 장르로 이루어진 리스트(genres)와 노래의 재생횟수로 이루어진 리스트(plays)가 주어진다. 두 리스트는 같은 인덱스끼리 같은 노래를 가리킨다. 문제에서 친절하게 정답에 접근하는 과정을 설명해줬다. 장르별로 최대 2개만 수록할 수 있다. 가장 많이 재생된 장르를 구해야한다. 그렇다면 같은 장르의 재생횟수를 모두 더해서 장르를 key로 갖고 재생횟수를 value로 하는 딕셔너리를 만들면 되겠다 싶을 것이다. 장르 내에서 가장 많이 재생된 노래를 먼저 수록해야하니까 가장 많이 재생된 장르를 찾는 것이 우선이다. 각 장르별 재생횟수가 담긴 딕셔너리의 value를 기준으로 정렬하면 어찌 저찌 될 것 같은 느낌이다. ..
· Coding Test
문제 설명 https://school.programmers.co.kr/learn/courses/30/parts/12077 문제 분석 요소가 숫자로 이루어진 문자열이 들어간 배열(리스트)가 주어지는데, 특정 요소가 다른 요소의 접두어, 즉 문자열의 시작하는 부분부터 동일하게 존재하면 false를 반환하고, 존재하지 않으면 true를 반환하게 한다. 그렇다면 접두어로 작용하려면 다른 문자열의 길이보다 짧거나 같아야 한다. 그리고 첫번째 문자열이 서로 같아야 비교를 하는 것에 의미가 있기 때문에 정렬을 해줘야 할 것이다. (sort( )) 특정 인덱스에 해당하는 요소의 문자열과 그 다음 인덱스에 해당하는 요소의 값에서 이전 요소의 길이만큼 인덱싱한 것이 서로 같으면 접두어로 사용된다는 의미일 것이다. Pyth..
· Crawling
페이지의 데이터 수집하는 크롤링을 배우다. 1. '크롤링'이란? 크롤링은 인터넷에서 페이지의 정보를 수집하는 '데이터 수집'하는 행위이다. 인터넷상에는 데이터가 엄청 방대하고 다양(빅데이터)하다. 빅데이터가 존재하는 세상에서 크롤링을 사용하지 않고 데이터를 수집하기에는 너무 번거롭고 효율적이지 못하다. 기존에는 브라우저가 페이지 정보를 요청해서 데이터를 받아와서 페이지를 볼 수 있었는데, 우리는 지금 데이터를 수집해야 하는 입장이니까 크롤링을 통해서 페이지에 데이터를 요청해야 한다. 크롤링으로는 HTML의 태그를 통해서 데이터에 접근할 수 있다. 파이썬 언어를 사용해서 크롤링을 진행한다. 크롤링으로 페이지에 데이터를 요청하기 위해서 requests 라이브러리를 사용해야 한다. 2. 클라이언트와 서버간의 ..
Python def solution(progresses, speeds): d_day = [] # 5 10 1 1 20 1 cnt = 0 biggest = 0 answer = [] len_list = len(speeds) # 3 for i in range(len_list): if (100 - progresses[i]) % speeds[i] != 0: left_pro = (100 - progresses[i]) // speeds[i] + 1 d_day.append(left_pro) else: left_pro = (100 - progresses[i]) // speeds[i] d_day.append(left_pro) biggest = d_day[0] for i in range(len_list): # 0 1 2 i..
Python # 1026번: 보물 # 문제: 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. # 입력: 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. ..
Python # 2869번: 달팽이는 올라가고 싶다. # 문제: 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. # 입력: 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) #출력: 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. a, b, v = map(int, input().split(" ")) day = 0 up = v - a # 마지막 날 제외 d..
# 10872번: 팩토리얼 # 문제: 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. # 입력: 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. #출력: 첫째 줄에 N!을 출력한다. n = int(input()) answer = 1 for i in range(1, n + 1): answer *= i print(answer)
# 2839번: 설탕 배달 # 문제: 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. # 입력: 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) #출력: 상근이가 배달하는..
이뮨01
'파이썬' 태그의 글 목록