자바
-
[SW Expert Academy] 1952. 수영장Algorithm/Source Code 2022. 9. 27. 23:34
solution.java package D0926; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class P1952_수영장 { static int[] pay; static int[] days; static int min; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); // test case 수 for (int..
-
[백준 14503] 로봇 청소기Algorithm/Source Code 2022. 8. 21. 19:56
문제 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음과 같이 작동한다. 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. 왼쪽 방향에 청소..
-
[ 운영체제 ] synchronized (JAVA)공부 !/Computer Science 2022. 6. 16. 16:08
synchronized 스레드가 하나의 자원을 사용하고자 할때 해당 스레드만 제외하고 나머지 스레드가 자원에 접근 못하도록 막는 것을 동기화라고 한다 자바에서는 Synchronized 키워드를 통해 객체에 대한 동기화가 이루어지며 동기화된 블록에는 한 시점에는 하나의 스레드만이 접근 및 실행되도록 조정한다 synchronized 키워드를 통해 임계영역을 설정하여 한 번에 하나의 스레드만 접근하도록 하는것이라고 이해하면 된다 ! 자바 프로그램은 기본적으로 메인 스레드가 main() 메소드를 실행 시키며 시작된다 마지막 코드를 실행하거나 return 을 만나면 종료되는데 JVM 이 생성한 메인 스레드는 별도의 작업 스레드를 만들어 이를 병렬로 실행 시킬 수 있다 멀티스레드를 생성한다는 의미로 멀티스레딩에서는..