고유 락 (Intrinsic Lock)
·
Java
자바의 모든 객체는 락(lock)을 갖고 있다모든 객체가 갖고 있으므로 고유 락(intrinsic lock)이라고 하며, 모니터처럼 동작한다고 하여 모니터 락(monitor lock), 혹은 그냥 모니터(monitor)라고 한다 예제를 통해 고유 락을 다루는 synchronized를 확인해보자 고유 락 예제import java.time.LocalDateTime;import java.util.concurrent.TimeUnit;public class IntrinsicLock { public static void main(String[] args) { IntrinsicLock intrinsicLock = new IntrinsicLock(); Thread thread1 = new..
Java에서의 Thread
·
Java
쓰레드는 하나의 프로세스 내에서 독립적으로 실행되는 작업 단위로프로그램 실행의 가장 작은 단위로 볼 수 있으며 이는 동시성 프로그래밍의 핵심 요소이다 일반적인 자바 애플리케이션은 하나의 메인 쓰레드로 시작하지만, 여러 작업을 동시에 처리하기 위해서는 추가적인 쓰레드가 필요하다 스레드 1. Thread 클래스 상속public class MyThread extends Thread{ @Override public void run(){ // 작업 내용 }}Thread 클래스를 상속받고 run 메서드를 재정의하여 구현한다 구현 예제public class MyThread extends Thread{ @Override public void run(){ for (in..
[level 2] 땅따먹기 - 12913
·
코딩테스트/프로그래머스
[level 2] 땅따먹기 - 12913문제 링크성능 요약메모리: 86.7 MB, 시간: 29.01 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 59.8효율성: 40.2합계: 100.0 / 100.0제출 일자2024년 11월 24일 17:41:25문제 설명땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다.예를 들면,| 1 | 2 | 3 | 5 || 5 | 6 | 7 | 8 || 4 | 3 | 2 | 1 |로 땅이 주어졌다면,..
[Gold V] 숨바꼭질 3 - 13549
·
코딩테스트/백준
[Gold V] 숨바꼭질 3 - 13549문제 링크성능 요약메모리: 23192 KB, 시간: 148 ms분류0-1 너비 우선 탐색, 너비 우선 탐색, 데이크스트라, 그래프 이론, 그래프 탐색, 최단 경로제출 일자2024년 11월 21일 15:49:43문제 설명수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구..
[Gold III] 최소비용 구하기 2 - 11779
·
코딩테스트/백준
[Gold III] 최소비용 구하기 2 - 11779문제 링크성능 요약메모리: 65404 KB, 시간: 620 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 22일 14:45:22문제 설명n(1≤n≤1,000)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1≤m≤100,000)개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. 그러면 A번째 도시에서 B번째 도시 까지 가는데 드는 최소비용과 경로를 출력하여라. 항상 시작점에서 도착점으로의 경로가 존재한다.입력첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m..
[Gold III] 파티 - 1238
·
코딩테스트/백준
[Gold III] 파티 - 1238문제 링크성능 요약메모리: 91940 KB, 시간: 756 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 22일 14:01:03문제 설명N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중..
[Gold IV] 특정한 최단 경로 - 1504
·
코딩테스트/백준
[Gold IV] 특정한 최단 경로 - 1504문제 링크성능 요약메모리: 69800 KB, 시간: 564 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 21일 18:11:32문제 설명방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다.세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을..
[Gold V] 최소비용 구하기 - 1916
·
카테고리 없음
[Gold V] 최소비용 구하기 - 1916문제 링크성능 요약메모리: 52876 KB, 시간: 544 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 19일 18:04:59문제 설명N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다.입력첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 ..
[Gold V] 내려가기 - 2096
·
코딩테스트/백준
[Gold V] 내려가기 - 2096문제 링크성능 요약메모리: 52152 KB, 시간: 332 ms분류다이나믹 프로그래밍, 슬라이딩 윈도우제출 일자2024년 11월 19일 17:20:21문제 설명N줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 내려가기 게임을 하고 있는데, 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 되는 놀이이다.먼저 처음에 적혀 있는 세 개의 숫자 중에서 하나를 골라서 시작하게 된다. 그리고 다음 줄로 내려가는데, 다음 줄로 내려갈 때에는 다음과 같은 제약 조건이 있다. 바로 아래의 수로 넘어가거나, 아니면 바로 아래의 수와 붙어 있는 수로만 이동할 수 있다는 것이다. 이 제약 조건을 그림으로 나타내어 보면 다음과 같다.별표는 현재 위치이고, 그 아랫 줄의 파란 동그라미..
[Gold IV] 서강그라운드 - 14938
·
코딩테스트/백준
[Gold IV] 서강그라운드 - 14938문제 링크성능 요약메모리: 14480 KB, 시간: 112 ms분류데이크스트라, 플로이드–워셜, 그래프 이론, 최단 경로제출 일자2024년 11월 19일 01:46:19문제 설명예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 하는 게임이다. 서강그라운드에서 1등을 하면 보상으로 치킨을 주는데, 예은이는 단 한번도 치킨을 먹을 수가 없었다. 자신이 치킨을 못 먹는 이유는 실력 때문이 아니라 아이템 운이 없어서라고 생각한 예은이는 낙하산에서 떨어질 때 각 지역에 아이템 들이 몇 개 있는지 알려주는 프로그램을 개발을 하였지만 어디로 ..