분류 전체보기

    [파이썬] 백준 5622. 다이얼

    문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다. 할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 ..

    [C언어] 백준 3009. 네 번째 점

    문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 구상 $x_{1}$과$x_{2}$가 같으면 $x_{4}$는 $x_{3}$와 같다. $x_{1}$과 $x_{3}$가 같으면 $x_{4}$는 $x_{2}$와 같다. 아니면 $x_{4}$는 $x_{1}$와 같다. $y$도 마찬가지다. 코드 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int xArr[4], yArr[4];//좌표를 저장할 배열 for (int i = 0; i < ..

    [파이썬] 백준 7568. 덩치

    문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55,173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼 때 C와 D는 누..

    [파이썬] 백준 2231. 분해합

    문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 구상 각 자릿수를 구해 리스트에 저장하고, 리스트 요소의 합이 입력받은 수 n과 같으면 fl..

    [파이썬] 유튜브 영상 다운로드하고 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 =..

    <명품 JAVA Programming> - Chapter10 실습문제

    1. JLabel 컴포넌트는 Mouse 이벤트를 받을 수 있다. JLabel 컴포넌트에 마우스를 올리면 "Love Java"가, 내리면 "사랑해"가 출력되도록 스윙 응용프로그램을 작성하라. package chapter10; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Q1 extends JFrame{ private JLabel la = new JLabel("사랑해"); public Q1() { setTitle("마우스 올리기 내리기"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new F..

    <명품 JAVA Programming> - Chapter9 실습문제

    1. 다음 그림과 같이 ""Let's study Java"라는 문자열을 타이틀로 가지고 프레임의 크기가 400X200인 스윙 프로그램을 작성하라. package chapter9; import javax.swing.*; public class Q1 extends JFrame{ public Q1() { setTitle("Let's study Java"); setSize(400, 200); setVisible(true); } public static void main(String[] args) { new Q1(); } } 2. BorderLayout을 사용하여 컴포넌트 사이의 수평 수직 간격이 각각 5픽셀, 7픽셀이 되도록 스윙 응용프로그램을 작성하라. package chapter9; import javax...

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 11(1번~10번)

    1. 구조체 템플릿 정의와 구조체 변수 선언의 차이를 설명하시오. 구조체 템플릿은 사용자 정의 자료형을 만드는 것이다. 구조체를 위한 기억 장소를 할당받기 위해서는 구조체 변수를 선언해야 한다. 2. 다음 코드는 두 사각형 중 면적이 큰 사각형의 가로, 세로, 면적 정보를 larger에 구하는 프로그램이다. 밑줄 친 곳에서 잘못된 것을 찾아 그 이유를 설명하시오. struct rectangle { int width = 5, height = 2, area;//구조체 템플릿을 정의할 때 변수 내용을 초기화할 수 없음 } int main() { rectangle r1 = { 3, 7 }, r2 = { 2, 5 };//구조체임을 명시해야 함 int larger;//구조체로 정의해야 함 r1.area = r1.w..