[Java] 멀티 스레드
Language/Java2023. 8. 1. 00:01[Java] 멀티 스레드

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 2023.06.27 - [컴퓨터 구조 & 운영체제/운영체제] - [운영체제] 스레드(Thread), 멀티 프로세스와 멀티 스레드 [운영체제] 스레드(Thread), 멀티 프로세스와 멀티 스레드이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 스레드 이 글에서 다루는 내용은 소프트웨어적 스레드이rebugs.tistory.com 하나의 프로세스가 두 가지 이상의 작업을 처리할 수 있는 이유는 멀티 스레드가 있기 때문이다.프로세스의 모든 스레드가 종료가 되어야 프로세스가 종료된다.하나의 스레드에서 예외가 ..

[Java] 제네릭(Generic)
Language/Java2023. 7. 31. 00:02[Java] 제네릭(Generic)

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 제네릭의 개념제네릭이란 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시기는 기능이다. 아래의 코드는 Box 클래스에서 결정되지 않은 content의 타입을 T라는 타입 파라미터로 정의한 것이다.public class Box { public T content;}는 T가 타입 파라미터임을 뜻하는 기호로, 타입이 필요한 자리에 T를 사용할 수 있음을 알려주는 역할을 한다.Box 클래스는 T가 무엇인지 모르지만, Box 객체가 생성될 시점에 다른 타입으로 대체된다는 것을 알고 있다. Box의 내용물로 String 타입을 저장하고 싶으면 아래와 같이..

[Java] 백준 17단계 - 11050번 문제 (이항 계수1)
자료구조 & 알고리즘/BOJ2023. 7. 30. 03:00[Java] 백준 17단계 - 11050번 문제 (이항 계수1)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); System.out.print(factorial(N) / (factorial(N-K)*factorial(K))); } static int factorial(int n) { long count = 1; if(n == 0) return (int)count; else { for(int i = 1; i

[Java] 랜덤 숫자(난수) 얻기
Language/Java2023. 7. 30. 00:15[Java] 랜덤 숫자(난수) 얻기

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. math 클래스의 random() 메소드 이용0.0과 1.0 사이(0.0 포함, 1.0 미포함) 범위에 속하는 하나의 double 타입의 값을 리턴double v11 = Math.random(); //0.47464615326686044 1부터 n까지 랜덤 수를 뽑는 코드는 아래와 같다. int num = (int) (Math.random()*n) + 1; 아래의 예제는 1~45의 랜덤 숫자 중 6개 뽑는 예제이다.public class Main { public static void main(String[] args) { for(int i = 0; i   java.util.random..

[Java] 백준 17단계 - 10872번 문제 (팩토리얼)(재귀X)
자료구조 & 알고리즘/BOJ2023. 7. 29. 18:00[Java] 백준 17단계 - 10872번 문제 (팩토리얼)(재귀X)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); long count = 1; if (N==0) System.out.print(1); else { for(int i = 1; i

[Java] 백준 17단계 - 24723번 문제 (녹색거탑)
자료구조 & 알고리즘/BOJ2023. 7. 29. 03:00[Java] 백준 17단계 - 24723번 문제 (녹색거탑)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.print((int)Math.pow(2, N)); } } 설명 한 층을 내려올 때마다 경우의 수는 2가지 이므로 N층을 내려올 때 경우의 수는 2^N개 이다.

[Java] StringBuilder 클래스, StringTokenizer 클래스
Language/Java2023. 7. 29. 00:10[Java] StringBuilder 클래스, StringTokenizer 클래스

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. String은 내부 문자열을 수정할 수 없다. 아래의 코드를 보면 다른 문자열을 결합해서 내부 문자열을 변경하는 것처럼 보이지만 사실 'ABCDEF'라는 새로운 String 객체를 생성하는 것이다. 그리고 data 변수는 새로 생성된 String 객체를 참조하게 된다.String data = "ABC";data += "DEF";문자열의 + 연산은 새로운 String 객체가 생성되고 이전 객체는 계속 버려지는 것이기에 효율이 좋지 못하다.잦은 문자열 변경 작업을 해야 한다면 String 보다는 StringBuilder를 사용하는 것이 좋다. StringBuilder 클래스StringBu..

[Java] 백준 17단계 - 15439번 문제 (베라의 패션)
자료구조 & 알고리즘/BOJ2023. 7. 28. 18:00[Java] 백준 17단계 - 15439번 문제 (베라의 패션)

문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.print(N * (N - 1)); } } 설명 생략

image