본문 바로가기

study

(17)
프로세스&스레드, 커널 프로세스와 스레드 OS로 부터 시스템 자원을 할당 받아 메모리 공간에서 작동되는 프로그램을 프로세스 또는 스레드 라고 한다 시스템 자원 : CPU 시간, 주소공간, 메모리 공간 메모리 공간 Text(Code): 실행할 프로그램의 코드가 저장되어 CPU가 하나씩 처리함(hex 또는 bin 파일 메모리) Data: 전역 변수, 정적 변수를 저장 Heap: 프로세스가 실행 중 사용하려고 동적으로 할당 받은 공간(사용자가 할당 및 해제를 해야함) Stack: 지역 변수, 매개변수 등을 저장하는 영역으로 프로그램이 자동으로 사용하는 임시 메모리 영역(메모리에 프로세스가 메모리에 올라갈 때 스택 사이즈는 저장되어 있어서 런타임시 사이즈 변경 불가) 프로세스는 각각 독자적인 메모리 공간을 가지고 있다. 스레드는 프로..
[JAVA/백준] 11729 하노이 탑 이동 순서 하노이 탑 이동 순서 문제 링크 제한사항 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 26629 12861 9988 48.275% 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N..
[카카오/자바] 3차 방금 그 곡 문제링크 문제 설명 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 때도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일 수도 있다. 반대로, 한 음악을 중간에 끊을 경우 원본 음악에는 네오가 기억한 멜로디가 들어있다 해도 그 곡이 네오가 들은 곡이 아닐 수도 있다. 그렇기 때문에 네오는 기억한 멜로디를 재생 시간과 제공된 악보를..
[카카오/자바] 괄호 변환 문제링크 문제 접근 다음과 같이 문제에서 시키는 데로 함 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수행합니다. 3-1. 수행한 결과 문자열을 u에 이어 붙인 후 반환합니다. 4. 문자열 u가 "올바른 괄호 문자열"이 아니라면 아래 과정을 수행합니다. 4-1. 빈 문자열에 첫 번째 문자로 '('를 붙입니다. 4-2. 문자열 v에 대해 1단계부터 재귀적으로 수행한 결과 문자열을 이어 붙입니다. 4-3. ')'..
[카카오/자바] 3차 압축 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/17684 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘 중에서 성능이 좋고 구현이 간단한 LZW(Lempel–Ziv–Welch) 압축을 구현하기로 했다. LZW 압축은 1983년 발표된 알고리즘으로, 이미지 파일 포맷인 GIF 등 다양한 응용에서 사용되었다. LZW 압축은 다음 과정을 거친다. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. 사전에서 현재 입력과 일치하는 가장 ..
[카카오/자바] 자물쇠와 열쇠 코드구현 import java.util.*; class Solution { public static boolean open = false; public static int M, N; ​ public static class Node { public int row; // row 열 y public int col; // column 행 x ​ public Node(int x, int y) { this.row = y; this.col = x; } ​ }// Node end ​ public static int[][] rotate(int m, int[][] k) { // 90도씩 회전 int[][] tmp = new int[m][m]; ​ for (int i = 0; i < m; i++) { for (int j =..
[카카오/자바] 오픈채팅방 [카카오/자바] 오픈채팅방https://programmers.co.kr/learn/courses/30/lessons/42888 접근 방식채팅방에 있는 유저들의 아이디(Key)와 닉네임(Value)을 hashMap에 저장 닉네임 변경을 제외한 유저들의 행동 로그를 Queue에 저장 들어오거나 닉네임을 바꿀 때, hashMap에 저장hashMap에 Change를 제외한, 행동로그에 따른 메세지를 저장 key "Enter" - value "들어왔습니다." key "Leave" - value "나갔습니다.""Change"를 제외한, 행동 로그를 UserLog 객체 타입으로 Queue로 저장 UserLog(id, action)1~3까지의 기록 처리가 끝나면, Queue에 저장된 로그를 문자열 배열 형태로 retu..
[백준/자바] 11052번 카드 구매하기 카드 구매하기https://www.acmicpc.net/problem/11052문제 설명요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다.PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다.*전*설카드레드카드오렌지카드퍼플카드블루카드청록카드그린카드그레이카드카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다.민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서,..