[백준/Gold V] 토마토 - 7576
·
코딩 테스트 정복기/백준
[Gold V] 토마토 - 7576문제 링크 성능 요약메모리: 151304 KB, 시간: 920 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2024년 10월 16일 01:14:38문제 설명철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못..
[백준/Gold V] 평범한 배낭 - 12865
·
코딩 테스트 정복기/백준
[Gold V] 평범한 배낭 - 12865문제 링크 성능 요약메모리: 19516 KB, 시간: 240 ms분류다이나믹 프로그래밍, 배낭 문제제출 일자2024년 10월 14일 19:42:35문제 설명이 문제는 아주 평범한 배낭에 관한 문제이다.한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다.준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서가 최대한 즐거운 여행..
[백준/Gold III] 나머지 합 - 10986
·
코딩 테스트 정복기/백준
[Gold III] 나머지 합 - 10986문제 링크 성능 요약메모리: 244256 KB, 시간: 752 ms분류수학, 누적 합제출 일자2024년 10월 14일 17:22:27문제 설명수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오.즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다.입력 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103)둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109)출력 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. im..
[백준/Silver IV] ATM - 11399
·
코딩 테스트 정복기/백준
[Silver IV] ATM - 11399문제 링크 성능 요약메모리: 18892 KB, 시간: 192 ms분류그리디 알고리즘, 정렬제출 일자2024년 10월 14일 01:01:33문제 설명인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 ..
프로그램 컴파일 과정 - C, C++/Java ( Interpreter / JIT )
·
Computer Science/Operating System
보편적인 프로그램 컴파일 과정프로그램이란컴퓨터가 특정 작업이나 연산을 수행하도록 지시하는 명령어들의 집합.프로그램? 컴퓨터가 특정 작업이나 연산을 수행하도록 지시하는 명령어들의 집합컴파일? 고급 프로그래밍 언어로 작성된 언어를 컴퓨터가 이해할 수 있게 기계어(or 바이너리코드)로 변환하는 것 즉, 프로그램은 컴파일 된 파일이다.프로그램의 컴파일 과정은 다음과 같다. Soruce File프로그래머가 작성한 원본 코드 파일( .c ,  .cpp   등) Proprocessor전처리기. 소스코드의 주석 제거, 매크로 치환, 파일 병합과 조건부 컴파일 처리. (전처리된 파일을 출력. 일반적으로  .i  확장자) Compiler전처리된 소스코드를 어셈블리 코드로 변환. 이 단계에서 문접 검사와 최적화가 이루어남...
[프로그래머스/level 3] 단속카메라 - 42884
·
코딩 테스트 정복기/프로그래머스
[level 3] 단속카메라 - 42884문제 링크 성능 요약메모리: 54 MB, 시간: 19.23 ms구분코딩테스트 연습 > 탐욕법(Greedy)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2024년 10월 17일 23:21:09문제 설명고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요.제한사항차량의 대수는 1대 이상 10,000대 이하입니다.routes에는 차량의 이동 경로가 포함되어 있으..
[프로그래머스/level 2] 짝지어 제거하기 - 12973
·
코딩 테스트 정복기/프로그래머스
[level 2] 짝지어 제거하기 - 12973문제 링크 성능 요약메모리: 12.2 MB, 시간: 172.12 ms (python)메모리: 77 MB, 시간: 103.70 ms (java)구분코딩테스트 연습 > 2017 팁스타운채점결과정확성: 61.2효율성: 38.8합계: 100.0 / 100.0제출 일자2024년 10월 14일 17:36:42문제 설명짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함..
페이지 교체 알고리즘 - FIFO, LRU, LFU, MFU, NUR, OPT(오프라인 알고리즘)
·
Computer Science/Operating System
스와핑이 일어날 때 페이지 교체 알고리즘에 의해 페이지가 교체되게 된다. FIFO (First In First Out) 방법 : 메모리에 가장 먼저 올라온 페이지를 먼저 내보냄.특징구현이 간단하고 직관적성능이 좋지 않을 수 있음. Belady의 역설(FIFO anomaly)이 발생할 수 있음.즉, 페이지 프레임 수가 늘어날 수록 페이지 부재가 증가할 수 있음  LRU (Least Recently Used)방법 : 가장 오랫동안 사용하지 않은 페이지를 교체특징"가장 오랫동안 사용하지 않았다면 앞으로도 사용할 확률이 적을 것이다"라고 가정.자주 사용되는 페이지를 유지하므로 성능이 FIFO보다 상대적으로 좋음.프로세스가 주기억 장치에 접근할 때 참조된 페이지 시간을 기록해야 한함.-> 막대한 오버헤드가 발생할..
가상메모리(2) - 페이지폴트와 스와핑, 스레싱
·
Computer Science/Operating System
페이지 테이블 엔트리(PTE, Page Table Entry)페이지 테이블의 각각 행동들을 페이지 테이블 엔트리라고 한다.유효비트(valid bit) : 현재 해당 페이지에 접근 가능한지 여부.보호비트(protection bit) : 페이지에 접근할 권한을 제한하는 비트(rwx순으로 2bit으로).참조비트(reference bit) : CPU가 해당 페이지에 접근한 적이 있는지 여부.수정비트(modified bit) : 해당 페이지에 데이터가 수정된 적이 있는지 여부. 스왑 아웃 될 때 보조기억 장치에 기록하기 위해 사용.  페이지폴트 (Page fault)와 스와핑스왑 영역(Swap Space)? 프로세스의 가상 메모리 공간 전체를 위해 예약된 디스크 공간스와핑? 메모리의 당장 사용하지 않는 영역을 하..