본문 바로가기

Java-Study

(22)
Java Study : 8주차 - 백준 문제풀이 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int[][] apt = new int[15][15]; for(int i = 0; i < 15; i++) { apt[i][1] = 1; apt[0][i] = i; } for(int i = 1; i < 15; i ++) ..
Java Study : 8주차 정리 - 컬렉션 프레임워크(제네릭, 컬렉션 프레임워크, (List, Set, Map)인터페이스) 제네릭 어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍 하는 것을 제네릭 프로그래밍 이라고 한다. 제네릭 프로그램은 참조 자료형이 변환될 때 이에 대한 검증을 컴파일러가 하므로 안정적이다. 제네릭의 필요성 3D 프린터를 예시로 들면 입체 모형을 만드는데 필요한 재료가 한 가지가 아니기 때문에 재료마다 클래스를 만드는 것은 비효율적이게 된다. 이런 경우에 재료 변수의 자료형을 Object로 사용이 가능하다. public class ThreeDPrinter { private Object material; //필요한 재료를 Object로 사용 public void setMaterial(Object material) { this.material = material; } pu..
Java Study : 7주차 - 백준 문제풀이 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); for(int i =2; i*i
Java Stduy : 7주차 정리 - 기본 클래스(Object, String, Wrapper, Class 클래스) Object 클래스 Object 클래스는 모든 자바 클래스의 최상위 클래스이다. 모든 클래스는 Object 클래스로부터 상속을 받는데 클래스 선언시 자동으로 쓰이게 되기 때문에 따로 쓰지는 않는다. toString() 메서드 객체 정보를 문자열로 표현하여 반환한다. 재정의하여 객체에 대한 설명이나 특정 멤버 변수 값을 반환한다. package object; class Book{ int bookNumber; String bookTitle; Book(int bookNumber, String bookTitle){ //번호와 책을 매개변수로 입력받는 생성자 this.bookNumber = bookNumber; this.bookTitle = bookTitle; } } public class ToStringEx {..
Java Study : 6주차 - 백준 문제풀이 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int x = in.nextInt(); int y = in.nextInt(); int xx = flip(x); int yy = flip(y); System.out.println(xx > yy..
Java Study : 6주차 정리 - 인터페이스 인터페이스 인터페이스는 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 한다. 인터페이스는 추상 메서드와 상수로만 이루어져 있다. 구현하기 package interfaceex; public interface Calc { double PI = 3.14; int ERROR = -999999999; int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); int divide(int num1, int num2); } 인터페이스를 사용하기 위해서는 implements 예약어를 사용해야 하며, 클래스를 추상 클래스로 만들거나 추상 메서드를 전부 사용해야 한다. package interf..
Java Study : 5주차 - 백준 문제풀이 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int arr[] = new int[26]; String str = in.nextLine().toUpperCase(); char ch = '?'; int max = -1; for(int i=0; i
Java Study : 5주차 정리 - 추상 클래스 추상 클래스 추상 클래스는 구체적이지 않은 클래스로 abstract class 라고 하며, 추상 클래스가 아닌 클래슨느 concrete class라고 한다. 추상 클래스는 항상 추상 메서드를 포함하는데, 추상 메서드는 구현 코드가 없다. int add(int x, int y) { return x + y; } { } 안의 내용을 함수의 구현부라고 하며 이 부분이 없는 함수를 추상 함수라 하고 자바에서는 추상 메서드라고 한다. 추상 메서드는 선언만 하며 abstract 예약어를 사용하고 { } 대신 ;를 쓴다. 즉, 추상 메서드는 abstract 예약어를 사용항 선언만 하는 메서드이다. abstract int add(int x, int y); 추상 클래스 구현 package abstractex; public..