Java 47

[JAVA] 백준 10757번- 큰 수 A+B

https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..

ALGORITHM 2022.08.22

[JAVA] 백준 9742번- 순열

https://www.acmicpc.net/problem/9742 9742번: 순열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 문자열은 서로 다른 숫자와 알파벳으로 이루어져 있으며, 길이는 최대 10이다. 또한, 사전 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ private static int totalCount, num; private static boolean visit[]; // 중복 방지 위해 ..

ALGORITHM 2022.08.21

[JAVA] 백준 15651번- N과 M(3)

https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 // public stati..

ALGORITHM 2022.08.21

[JAVA] 백준 15650번- N과 M(2)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static int n, m; public static int[] arr; // 값을 담을 배열 public static b..

ALGORITHM 2022.08.20

[JAVA] 프로그램, 프로세스, 쓰레드 개념

컴퓨터를 이루는 주요 구성 요소에는 중앙 처리 장치(CPU), 메모리, 하드디스크가 있다. CPU- 연산을 수행함으로써 실제 프로그램을 실행하는 장치 하드디스크- 데이터의 저장 역할을 수행 메모리- 저장된 데이터를 CPU로 보내는 역할 하드디스크에 저장된 프로그램이 실행되기 위해서는 먼저 프로그램을 메모리로 로딩하는 과정을 거쳐 프로세스 상태로 만들어야 한다. 프로그램- 하드디스크에 저장된 파일들의 모임 프로세스- 메모리에 로딩된 프로그램 멀티 프로세스- 동일한 프로그램을 메모리에 여러번 로딩하면 여러개의 프로세스가 동작하는 것 쓰레드란? 프로세스(process) 내에서 실제로 작업을 수행하는 CPU 수행 단위. CPU를 사용하는 최소 단위라고 할 수 있다. 실제 CPU를 사용하는 것은 프로세스 내부의 ..

BACK/JAVA 2022.08.18

[JAVA] 쓰레드의 동기화(메서드 동기화, 블록 동기화)

동기화란 하나의 작업이 완전히 완료된 후 다른 작업을 수행하는 것이다. 멀티쓰레드를 사용할 땐 동기화가 필요하다. 동기화를 사용하지 않았을 때 문제 발생 // 공유 객체 class MyData{ int data = 3; public void plusData(){ int mydata=data; // 데이터 가져오기 try {Thread.sleep(2000);} catch(InterruptedException e){} data=mydata+1; // 2초 후에 값을 1만큼 증가 } } // 공유 객체를 사용하는 쓰레드 class PlusThread extends Thread{ MyData myData; public PlusThread(MyData myData){ // 생성자의 매개변수로 MyData 객체를 ..

BACK/JAVA 2022.08.10

[JAVA] 쓰레드의 속성

현재 쓰레드 객체 참좃값 얻어오기(쓰레드 객체를 참조할 수 없을 때) static Thread Thread.currentThread() 실행 중인 쓰레드의 개수 가져오기 static int Thread.activeCount() 쓰레드 이름 설정하기 String setName(String name) 쓰레드 이름 가져오기 String getName() 쓰레드 객체의 우선순위 정하기 void setPriority(int priority) 쓰레드 객체의 우선순위 가져오기 int getPriority() 데몬 쓰레드(일반 쓰레드가 모두 종류되면 함께 종료되는 쓰레드) 만들기 void setDeamon(boolean on) * 데몬 설정은 반드시 쓰레드를 실행하기전(start() 메서드 호출전)에 설정 해야 함 데..

BACK/JAVA 2022.08.09

[JAVA] 백준 2292번- 벌집

https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 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 InputStreamRe..

ALGORITHM 2022.08.09

[JAVA] 백준 1065번- 한수

https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 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 InputStre..

ALGORITHM 2022.08.07

[JAVA] 백준 14426번- 접두사 찾기

https://www.acmicpc.net/problem/14426 14426번: 접두사 찾기 문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(Strin..

ALGORITHM 2022.08.06