파이썬

    [파이썬] 유튜브 영상 다운로드하고 mp4, mp3로 변환하기(pytube, ffmpeg)

    from pytube import YouTube #유튜브영상을 다운로드하기 위한 모듈 import os.path #경로를 설정하기 위한 모듈 import ffmpeg #미디어를 변환하기 위한 모듈 from getpass import getuser #기본 경로를 다운로드 폴더로 지정하기 위한 모듈 class Download: ''' 파일을 변환하기 위해선 ffmpeg란 프로그램을 별도로 설치해 컴퓨터 환경변수 설정을 마쳐야 함. ''' def __init__(self, link): #link 인자는 gui에서 입력된 값을 받을 때 사용 #컴퓨터 이용자명을 받아서 다운로드폴더를 기본폴더로 지정 self.parent_dir = f"C:\\Users\\{getuser()}\\Downloads" self.yt =..

    [파이썬] 백준 1157. 단어 공부

    문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 구상 딕셔너리를 사용해보았다. 코드 text = list(input().upper())#대문자로 받기 alpha = dict() for i in text: if i not in alpha:#문자가 없으면 alpha[i] = 1#딕셔너리에 추가 else:#문자가 이미 있으면 al..

    [파이썬] str과 repr

    __str__ str(), format(), print()에 의해 호출되어 객체의 인쇄 가능한 비형식적(informal) 문자열 표현을 반환한다. __repr__ repr()에 의해 호출되어 객체의 공식적(formal)인 문자열 표현을 반환한다. 개체를 다시 만드는 데 사용할 수 있는 유효한 파이썬 표현을 만든다. class Ex: pass b = Ex() print(repr(b)) # 따로 형태가 정의되지 않으면 클래스 이름과 변수가 있는 메모리 주소를 기본형으로 출력한다. (By default, it prints the module the object it's from, the class name, and the hexadecimal representation of its location in mem..

    (파이썬) 백준 1085. 직사각형에서 탈출

    문제 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다. 출력 첫째 줄에 문제의 정답을 출력한다. 구상 좌우로 이동할 때 최단 거리 a와 상하로 이동할 때 최단 거리 b를 구하고 이를 비교한다. $a = min(|x-w|,|x|)$ $b = min(|y-h|,|y|)$ $res = min(a,b)$ 코드 x, y, w, h = map(int, ..

    (파이썬) 백준 2665. 부녀회장이 될테야

    문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 입력 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 ..

    (파이썬) 백준 10250. ACM 호텔

    문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모..

    (파이썬) 백준 2869. 달팽이는 올라가고 싶다

    문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 구상 올라가는데 걸리는 날을 x라 하자. 달팽이는 매일매일 $(a-b)$만큼 이동한다. 마지막 날에는 a만큼 올라가면 정상에 도착하므로 b만큼 미끄러지지 않는다. 따라서 $(x-1)$일 동안 올..

    (파이썬) 백준 1193. 분수찾기

    문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. 입력 X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 출력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 첫째 줄에 분수를 출력한다. 구상 분모를 a, 분자를 b라 하자. k는 대각선으로 몇 번 왔다갔다 했는지 나타낸다. k a b count 1 1 1 1 2..