프로그래밍

    [파이썬] 백준 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..

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

    16. [프로그램 8-17]의 compute_avg 함수는 전달된 인수를 배열로 선언하여 처리한다. compute_avg 함수가 포인터를 이용하여 처리하도록 수정하시오. #include #define N 4 double compute_avg(int *p); // 함수의 원형 선언 int main() { int notebook[N] = { 2507, 2232, 2009, 2890 }; int pen[N] = { 4527, 5370, 4923, 6097 }; double average; // 노트의 평균 판매수 구하기 average = compute_avg(notebook); printf("노트 평균 판매수: %.1lf \n", average); // 펜의 평균 판매수 구하기 average = compute..

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

    1. Scanner로 입력받은 이름과 전화번호를 한 줄에 한 사람씩 c:\temp\phone.txt 파일에 저장할. "그만"을 입력하면 프로그램을 종료한다. package chapter8; import java.io.*; import java.util.Scanner; public class Q1 { public static void main(String[] args) { System.out.println("전화번호 입력 프로그램입니다."); Scanner sc = new Scanner(System.in); String name, phoneNumber; FileWriter fout = null; try { fout = new FileWriter("c:\\Temp\\phone.txt"); while(true..