본문 바로가기

전체 글

(233)
[SWEA-1223][스택] 계산기2 - Java 입력값으로 중위 표기식이 들어오면 이를 후위 표기식으로 바꾸고 계산하는 문제입니다. 스택을 이용해서 후위 표기식으로 바꾸고 계산까지 하면 됩니다. 괄호없이 덧셈과 곱셈만 있기 때문에 상대적으로 쉬운 문제랍니당. import java.util.Scanner; import java.util.Stack; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = 10; for(int test_case = 1; test_case
[BOJ-14890][시뮬레이션] 경사로 - Java 문제 바로가기 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 삼성전자 코테 기출문제입니다.. 특별한 알고리즘을 요구하지는 않는 시뮬레이션 문젠데 이것저것 고려해야 할게 넘 많아서 예전에 못풀었다가 요번에 풀어씀다.. 꽤 빨리 풀긴 했는데 코드가 쪼까 지저분합니다 ㅜ package PS; import java.util.Scanner; class Main{ static int[][] map; static int L; static int ans = 0; static void solve(int[] line) { int start = lin..
[BOJ-3190][시뮬레이션] 뱀 - Java 문제 바로가기 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 뱀이 왔다갔다 하는 문제임니다. 문제에서 요구하는 조건만 잘 생각해서 코드를 짜면 됩니다.. import java.util.Deque; import java.util.LinkedList; import java.util.Scanner; class Dir{ int y; int x; Dir(int y, int x){ this.y = y; this.x = x; } } class Move{ int sec; char dir; Move(int sec, char dir..
[운영체제] CH4. Process Management CH4. Process Management 프로세스의 생성 (Process Creation) 부모 프로세스(Parent process)가 자식 프로세스(Child process)를 생성한다. 하나의 부모 프로세스는 여러 개의 자식 프로세스를 생성할 수 있다. 따라서 프로세스는 트리(계층 구조)를 형성한다. 프로세스는 자원(resources)를 필요로 하는데, 이는 운영체제로부터 받거나 부모 프로세스와 공유하는 형태를 갖는다. 자원의 공유 형태 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 - 일반적인 모델 일반적으로 부모와 자식프로세스는 서로 자원을 경쟁하는 관계가 된다. * Copy-On-Write(COW): Write가 발생했을 때 Copy를 하겠다. -> 내..
[SWEA-1225][큐] 암호생성기 - Java 앞에 놈을 빼서 일련의 연산을 해준 뒤 다시 뒤에 넣는 동작을 하기 때문에 기본적인 큐 활용 문제입니다. 규칙을 잘 생각해서 코드를 짜고 언제 반복문을 나갈지 조금만 생각해보면 쉽게 풀 수 있답니당. import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = 10; for(int test_case = 1; test_case
[SWEA-1218][스택] 괄호 짝짓기 - Java 기본적인 스택 활용 문제입니다. 처음에는 인풋으로 들어온 괄호문자들을 전부다 스택에 넣고 빼면서 어째저째 해볼랬는데 생각이 안나서 하나하나씩 봐주면서 넣고 빼고 했습니다. import java.util.Scanner; import java.util.Stack; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] left = {'(', '', '}', ']'}; for(int test_case = 1; test_case
[BOJ-14502][BFS/시뮬레이션] 연구소 - Java 문제 바로가기 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net N x M 크기의 연구소에서 벽을 꼭 3개를 세워서 바이러스가 퍼지는 것을 막는 문제입니다. 벽을 세운 뒤 바이러스가 퍼지고 안전 영역의 최대값을 구하면 됩니다. import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Dir { int y; int x; Dir(int y,..
[운영체제] CH3. Process(2) Thread A thread(or lightweight process) is a basic unit of CPU utilization 쓰레드는 프로세스 내부에 있는 CPU 수행 단위이다. 각각의 쓰레드는 Program Counter register set stack space 로 이루어져 있다. 쓰레드가 동료 쓰레드와 공유하는 부분(=task) code section data section OS resources 같은 일을 하는 여러 개의 프로세스를 띄어놓으면 프로세스마다 각자의 주소 공간이 만들어져 메모리 낭비가 된다. 이런 경우에 주소 공간을 하나만 띄어놓고 각자 다른 부분의 코드를 실행할 수 있게 하는것이 쓰레드의 개념이다. 프로그램의 실행 위치를 가리키는 Program Counter를 여러 개를 ..