문제풀이

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

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

    1. Scanner 클래스로 -1이 입력될 때까지 양의 정수를 입력받아 벡터에 저장하고 벡터를 검색하여 가장 큰 수를 출력하는 프로그램을 작성하라. package chapter7; import java.util.*; public class Max { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Vector v = new Vector(); System.out.print("정수(-1이 입력될 때까지)>> "); while(true) { int n = sc.nextInt(); if(n == -1) break; v.add(Integer.valueOf(n));//v.add(n); } int max = v.get(0); ..

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

    1. 다음 main()이 실행되면 아래 예시와 같이 출력되도록 MyPoint 클래스를 작성하라. public static void main(String[] args) { MyPoint p = new MyPoint(3, 50); MyPoint q = new MyPoint(4, 50); System.out.println(p); if(p.equals(q)) System.out.println("같은 점"); else System.out.println("다른 점"); } 2. 중심을 나타내는 정수 x, y와 반지름 radius 필드를 가지는 Circle 클래스를 작성하고자 한다. 생성자는 3개의 인자(x, y, radius)를 받아 해당 필드를 초기화하고, equals() 메소드는 두 개의 Circle 객체의 중..

    <명품 JAVA Programming> - Chapter5 연습문제(9, 10, 11, 12, 13, 14)

    9. 다음 Stack 인터페이스를 상속받아 실수를 저장하는 StringStack 클래스를 구현하라. package chapter5; import java.util.Scanner; interface Stack { int length();// 현재 스택에 저장된 개수 리턴 int capacity();//스택의 전체 저장 가능한 개수 리턴 String pop();//스택의 톱(top)에 실수 저장 boolean push(String val);//스택의 톱(top)에 저장된 실수 리턴 } class StringStack implements Stack { private String[] word; private int top; public StringStack(int size) { word = new String[..

    <명품 JAVA Programming> - Chapter5 연습문제(1, 2, 3, 4, 5, 6, 7, 8)

    1. 다음 main()메소드와 실행 결과를 참고하여 상속받은 ColorTV 클래스를 작성하라. package chapter5; class TV { private int size; public TV(int size) {this.size = size;} protected int getSize() {return size;} } public class ColorTV extends TV{ private int nColors; public ColorTV(int size, int nColors) { super(size); this.nColors = nColors; } public void printProperty() { System.out.println(getSize() + "인치 " + nColors + "컬러")..

    <명품 JAVA Programming> - Chapter4 연습문제(7, 8, 9, 10, 11, 12)

    7. 하루의 할 일을 표현하는 클래스 Day는 다음과 같다. 한 달의 할 일을 표현하는 MonthSchedule 클래스를 작성하라. package chapter4; import java.util.Scanner; class Day{ private String work;//하루의 할 일을 나타내는 문자열 public void set(String work) {this.work = work;} public String et() {return work;} public void show() { if(work == null) System.out.println("없습니다."); else System.out.println(work + "입니다."); } } public class MonthSchedule { privat..

    <명품 JAVA Programming> - Chapter4 연습문제(1, 2, 3, 4, 5, 6)

    1. 자바 클래스를 작성하는 연습을 해보자. 다음 main()메소드를 실행하였을 때 예시와 같이 출력되도록 TV 클래스를 작성하라. package chapter4; //퍼블릭 클래스명은 TV 대신 Chapter4_1_TV public class TV { private String name; private int year, size; public TV(String name, int year, int size) { this.name = name; this.year = year; this.size = size; } public void show() { System.out.println(this.name + "에서 만든 " + this.year + "년형 " + this.size + "인치 TV"); } pub..