#. 객체 생성 > 객체 생성 1 - 자바의 변수 ㄴ 기본형 변수 ㄴ 참조형 변수 : 배열 객체나 일반 클래스의 객체를 처리할 때 사용 - 클래스로부터 배열 객체를 생성할 경우 ㄴ 구문 : int[] scoreList; ㄴ 사용 : scoreList = new int[5]; > 객체 생성 2 - 클래스로부터 객체 생성을 위해 객체참조변수를 선언 ㄴ 구문 : 클래스이름 객체참조변수이름; ㄴ 사용 : Car Yellow; - 객체의 생성 ㄴ 구문 : 객체참조변수이름 = new 클래스이름(); ㄴ 사용 : Yellow = new Car(); 객체가 사용할 메모리 영역을 할당하기 위해 예약어 new 사용 생성된 객체에 대한 참조 값(메모리 주소)이 선언된 객체 참조 변수에 할당 + Car Yellow = new..
#. OOP(Object Oriented Programming)> 절차지향 (POP) - 실행되는 순서가 위에서부터 아래로 순차적으로 진행되는 형태를 가진 언어 - 프로그램 재사용 시 기존에 만들어진 코드를 복사하여 붙여넣기 하는 방법 사용 => 함수의 등장. ㄴ자주 사용되는 특정한 코드를 하나의 모듈(묶음)로 묶어 놓은 것 ㄴ프로그래머가 사용하고 싶을 때마다 호출하여 코드가 실행되도록 함 ㄴ데이터와 함수 간에 유기적인 관계성을 갖지 못함 > 객체지향 (OOP) - 모듈성을 높이기 위해 함수가 등장 - 객체 등장 (함수보다 더 높은 모듈 관리를 위해 자신이 가진 고유의 데이터와 그 데이터를 처리할 수 있는 메서드를 가짐) - 이러한 객체들이 모여 객체지향 프로그램 구조가 형성 - 객체지향을 통해 보다 높..
#. StringTokenizer--출처 : https://docs.oracle.com/javase/8/docs/api/ StringTokenizer-- 문자열을 토큰으로 분할할 수 있도록 허용 12345678910111213141516171819202122232425import java.util.StringTokenizer; public class test { public static void main(String[] args) { // String.split 방법을 사용 // String[] result = "this is a test".split("\\s");// for (int x = 0; x
4615. 재미있는 오셀로 게임 [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 보드의 한 변의 길이 N과 플레이어가 돌을 놓는 횟수 M이 주어진다. N은 4, 6, 8 중 하나이다.그 다음 M줄에는 돌을 놓을 위치와 돌의 색이 주어진다.돌의 색이 1이면 흑돌, 2이면 백돌이다.만약 3 2 1이 입력된다면 (3, 2) 위치에 흑돌을 놓는 것을 의미한다.돌을 놓을 수 없는 곳은 입력으로 주어지지 않는다. [출력]각 테스트 케이스마다 게임이 끝난 후 보드 위의 흑돌, 백돌의 개수를 출력한다.흑돌이 30개, 백돌이 34인 경우 30 34를 출력한다. 123456789101112131415161718192021222324252627282930313233343536373..
1204. 최빈수 구하기123456789101112131415161718192021222324252627282930313233343536373839404142434445import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Solution1204 { public void run() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int i=0; i max) { max =..
#. BufferedReader--출처 : https://docs.oracle.com/javase/8/docs/api/BufferedReader - 문자 입력 스트림에서 텍스트를 읽고 문자를 버퍼링하여 문자, 배열 및 행을 효율적으로 읽을 수 있도록 함 - 버퍼 크기 지정 가능, default 크기로 대부분의 용도로 사용 가능--12345678910111213141516171819202122232425import java.io.BufferedReader;import java.io.InputStreamReader; public class test { public void run() throws Exception{ BufferedReader br = new BufferedReader(new InputStre..
#. StringBuilder 출처 : https://docs.oracle.com/javase/8/docs/api/StringBuilder의 특징. - 변형이 가능한 문자열 - 문자열 버퍼가 단일 스레드에 의해 사용되던 장소에서 StringBuffer의 드롭인 교체로 사용하도록 설계 (데이터 덮어쓰기) - 대부분의 구현에서 빠른 성능 (StringBuffer보다 선호) - 문자열 시퀀스의 길이가 용량을 초과하지 않는 한, 새로운 내부 버퍼를 할당할 필요가 없음(내부 버퍼가 넘치면 자동으로 더 크게 생성) - StringBuilder의 인스턴스는 다중 스레드에서 사용하기에 안전하지 않음. 이러한 동기화가 필요한 경우 StringBuffer를 사용할 것을 권장 - sb.append("x") 와 같은 방법으로..
12345678910111213141516171819import java.io.BufferedReader;import java.io.InputStreamReader; public class Solution2046 { public void run() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); for(int i=0; i