본문 바로가기

분류 전체보기559

20220120 JAVA 생성자 및 상속 상속 기존 클래스의 자산(멤버)을 자식 클래스에서 재사용하기 위한 것 ( 부모의 생성자와 초기화 블록은 상속 X) 코드의 절감 → 부모의 코드 변경시 모든 자식들에게도 적용 → 유지 보수성 향상 상속의 적용 : extends 키워드 사용 항상 모든 클래스는 extends명령어를 사용하지 않으면 default로 Object를 상속한다. 상속의 관계 Person is a Object ( 상속의 관계는 is a 관계라고 함) 단일 상속 (Single Inheritance) 다중 상속의 경우 여러 클래스의 기능을 물려받을 수 있으나 관계가 매우 복잡해짐(다이아몬드 상속), 자바는 단일 상속만 지원 포함 관계 상속 이외에 클래스를 재활용 하는 방법 2개 이상의 클래스에서 특성을 가져 올 때 하나는 상속, 나머지는.. 2022. 1. 20.
Baekjoon 10816 숫자 카드 2 JAVA 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, .. 2022. 1. 20.
Baekjoon 3009 네 번째 점 JAVA 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 풀이 입력한 갯수를 구하고 1개만 입력된거면 출력하는 방법을 사용했는데, XOR연산을 이용해도 된다. X = X ^ input_value(0); Y = Y ^ input_value(1); 코드 import java.io.BufferedReader; import java... 2022. 1. 20.
Java에서 배열 크기 늘이기 1. 함수를 만들어서 배열을 한칸씩 확장 => 새로운 배열 선언, 주소값을 새로 생성된 배열로 연결해줌 public class Main { public static int[] increaseSize(int[] arr) { int[] newArr = new int[arr.length + 1];//Creating a new array with space for an extra element for(int i = 0; i < arr.length; i++) { newArr[i] = arr[i];//Copying the elements to the new array } return newArr; } public static void main(String[] args) { int[] arr = new int[5];.. 2022. 1. 19.
Baekjoon 1018 체스판 다시 칠하기 JAVA 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판.. 2022. 1. 19.
Baekjoon 10757 큰 수 A+B JAVA 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A,B < 10^10000) 출력 첫째 줄에 A+B를 출력한다. 풀이 큰수는 int, long의 범위를 벗어나기에 char 배열 혹은 String으로 해결해야함 기본적인 덧셈을 할때 올림을 이용하여 문제를 해결 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String.. 2022. 1. 19.
Baekjoon 10814 나이순 정렬 JAVA 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고.. 2022. 1. 19.
20220118 JAVA 객체지향 프로그래밍 객체지향 프로그래밍이란? Object Oriented Programming 주변의 많은 것들을 객체화해서 프로그래밍 하는 것 객체지향 프로그래밍의 장점 블록 형태의 모듈화된 프로그래밍 신뢰성 높은 프로그래밍 가능 추가/수정/삭제가 용이 재 사용성이 높음 Class vs Object 현실의 객체가 갖는 속성과 기능은 추상화(abstraction) 되어 클래스에 정의됨 클래스는 구체화되어 프로그램의 객체(instance, object)가 됨 객체는 그 자체가 사물임, 하지만 프로그래밍에서는 그 자체가 Data임 객체 생성과 메모리 Class area : 클래스 원형 로딩 - Field 정보 - Method 정보 - 타입 정보 - 상수 풀 Method stack : 메서드의 실행 공간 Thread 별로 별도 .. 2022. 1. 18.
Baekjoon 1316 그룹 단어 체커 JAVA 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들.. 2022. 1. 18.
728x90
728x90