Java
-
[Baekjoon] 1991번 트리 순회 (Java)Java/Baekjoon 2022. 8. 29. 00:40
예제 입력 7 A B C B D . C E F E . . F . G D . . G . . 예제 출력 ABDCEFG DBAECFG DBEGFCA package Q1991; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; class Node{ String node; String left; String right; public Node(String[] str){// 배열이 들어올 때마다 자신과 왼쪽 자식, 오른쪽 자식 지정 this.node = str[0]; this.left = str[1]; th..
-
[Baekjoon] 11725번 트리의 부모 찾기 (Java)Java/Baekjoon 2022. 8. 28. 22:41
예제 입력1 7 1 6 6 3 3 5 4 1 2 4 4 7 예제 출력1 4 6 1 3 1 4 예제 입력2 12 1 2 1 3 2 4 3 5 3 6 4 7 4 8 5 9 5 10 6 11 6 12 예제 출력2 1 1 2 3 3 4 4 5 5 6 6 package Q11725; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Main { static ArrayList arr; sta..
-
[Baekjoon] 15652번 N과 M(4) (Java)Java/Baekjoon 2022. 8. 28. 04:12
처음에는 15650 N과 M(2) (Java)에서 난수 뽑기에 중복을 허용하고 경우의 수를 int에서 BigInteger 타입으로 변경하여 다음과 같이 구현했었다. import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Scanner; import java.util.Random; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int x = scan.next..
-
[Baekjoon] 15650번 N과 M(2) (Java)Java/Baekjoon 2022. 8. 28. 01:47
package Q15650; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Scanner; import java.util.Random; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int x = scan.nextInt(); int y = scan.nextInt(); // 조합 이용 Random rand = new Random(); HashSet set = pick(rand, x, y); Arr..
-
[Baekjoon] 2407번 조합(Java)Java/Baekjoon 2022. 8. 27. 22:12
package Q2407; import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); BigInteger n = new BigInteger(scan.next()); BigInteger r = new BigInteger(scan.next()); // divide: 나누기, multiply: 곱하기, subtract: 빼기 System.out.println(fac(n).divide(fac(r).multiply(fac(n.subtract(r))))); } public static BigInteg..
-
[Baekjoon] 1932번 정수 삼각형(Java)Java/Baekjoon 2022. 8. 23. 23:14
package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); String[][] str = new String[num][]; int[][] intArr = new int[num][num]; for(int i = 0; i <..
-
[Java] 참조 자료형Java 2022. 7. 9. 12:37
자바에서는 8개의 기본 자료형 이외의 모든 자료형은 참조 자료형이다. 대표적인 참조 자료형에는 Array, Class, Interface 등이 있다. 배열 - 배열은 동일한 자료형을 묶어 저장하는 참조 자료형 - 특징 1. 생성할 때 크기를 지정해야 한다. 2. 한 번 크기를 지정하면 절대 변경할 수 없다. 배열을 선언하면 스택 메모리에 변수의 공간만 생성하고, 아직 배열의 실제 데이터인 객체를 생성하지 않았기 때문에 공간 안은 비운 채로 둔다. 스택 메모리에 위치하고 있는 참조 자료형 변수의 빈 공간을 초기화할 때는 null값을 사용할 수 있다. null 값은 힙 메모리의 위치를 가리키지 않는 것으로 연결된 실제 데이터가 없다는 것을 의미한다. 자바의 메모리 구조 클래스 영역 정적 영역 상수 영역 메서..
-
[Java] 제어문Java 2022. 7. 8. 22:30
제어문과 제어 키워드를 사용하면 프로그램의 실행 순서를 다양한 방법으로 제어할 수 있다. 제어문 종류 1) 선택 제어문 ( if, swtich ) 2) 반복 제어문 ( for, while, do-while ) switch - 점프 위치 변수값에 특정위치(case)로 이동해 구문을 실행하는 선택 제어문 - 점프할 수 있는 위치는 'case 위치값:'으로 설정 for문 - 조건식이 생략됐을 경우 // 조건식을 생략하면 컴파일러는 자동으로 true 입력 ( 무한 루프 ) for( 초기식 ; ; 증감식 ) { 실행구문; } - break를 이용한 무한 루프 탈출 for(int i = 0; ; i++){ if(i > 10){ break; } System.out.println(i)// 0, 1, 2, 3, 4, 5..