분류 전체보기
-
CH01. 운영체제란? (공룡책)운영체제 2024. 2. 10. 20:27
운영체제가 하는 일? 컴퓨터의 하드웨어를 관리하는 소프트웨어 user와 하드웨어 사이 중간 역할을 하며 응용 프로그램 간의 하드웨어 사용을 제어하고 관리 컴퓨터 실행 과정 중 항상 수행되는 프로그램으로 커널이라고도 불림(운영체제의 핵심 부분 = 커널) Bootstrap program 컴퓨터가 켜질 때 가장 처음 실행되는 프로그램 운영체제(커널)을 메모리에 로딩해주는 역할 Interrupt 하드웨어는 시스템 버스를 통해 cpu로 interrupt를 발생시킬 수 있음 폰 노이만 architecture 명령어들로 이루어진 instruction set을 메모리에 로딩 후 메모리에 올라와 있는 명령어들을 cpu로 하나씩 fetch 시켜 실행(execute)하는 구조 User mode / Kernel mode us..
-
백준 싸이클 c++코딩테스트 2024. 2. 8. 13:56
https://www.acmicpc.net/problem/2526 2526번: 싸이클 두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 www.acmicpc.net 문제 두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 구한다. 즉, 먼저 N에 N을 곱하고, 이 수를 P로 나눈 나머지를 두 번째에 출력한다. 다음에는 이 나머지에 N을 곱하고 P로 나눈 나머지를 출력한다. 다음에는 이 나머지에 N을 곱한 후 P로 나눈 나..
-
정올 숫자근 c++코딩테스트 2024. 2. 8. 13:53
문제 각 자리수를 계속 더하여 한 자리 숫자를 만드는 것을 숫자근(Digit Root)이라고 한다. 예를 들어 정수 65,536 의 숫자근은 7이다, 그것은 6+5+5+3+6=25 이고 이를 다시 2+5=7 이기 때문이다. n 개의 정수가 입력되면 숫자근이 가장 큰 값을 찾는 프로그램을 작성하시오. 입력 입력의 첫 줄에 정수의 개수 n(2≤n≤1,000)이 들어온다. 그 다음줄 부터 n개의 정수 m_i(1≤m_i≤1,000,000)가 한 줄에 한 개씩 들어온다. 출력 숫자근이 가장 큰 정수를 출력한다. 단, 가장큰 숫자근이 여러 개이면 그 중 가장 작은 수를 출력한다. 예제 login입력 5 213 61 153 95 753 logout출력 153 #include #include using namespac..
-
정올 폭탄 돌리기 c++코딩테스트 2024. 2. 8. 13:50
문제 8명의 사람들이 아래 그림과 같이 원형으로 앉아서 폭탄 돌리기 게임을 한다. 폭탄은 작은 번호의 사람부터 큰번호의 사람으로 이동한다. 맨 처음에는 K번 사람이 폭탄을 갖고 있다. 폭탄을 가진 사람은 퀴즈를 풀게 되는데 퀴즈를 맞힐 때에만 폭탄을 다음 사람에게 넘겨줄 수 있다. 퀴즈를 틀리거나 통과하게 되면 그 사람이 다음 문제를 풀어야 한다. 폭탄은 210초와 211초 사이에 터지게 된다. 이 때 폭탄이 터질 때 폭탄을 갖고 있던 사람을 구하여라. 단, 모든 퀴즈가 다 진행된 후에도 210초가 지나지 않았으면 가장 마지막에 폭탄을 가진 사람에게서 폭탄이 터지게 된다. 입력 첫 번째 줄에는 처음 폭탄을 가진 사람의 번호 K가 주어진다. (1 ≤ K ≤ 8) 두 번째 줄에는 게임이 진행되는 동안 공개된..
-
특정 수 제외하기(9진법)코딩테스트 2024. 1. 23. 14:02
숫자를 나열할 때 4가 들어간 수가 있다면 그 수를 제외하고 그 다음 번호를 부여한다. 만약 숫자 N이 주어진다면 이 숫자가 4를 제외하지 않은 원래의 순서를 부여받을 때 몇 번을 부여받을지 출력하시오. 풀이 : 0 1 2 3 4 5 6 7 8 9 에서 4가 사라진다면 숫자 N을 10진수가 아닌 9진수라고 생각할 수 있다. 예를 들어 N = 13라는 9진수가 있고 이를 10진수로 변환하면 1x9^1 + 3x9^0 = 9+3 = 12 이다. 하지만 만약 각 자리의 수가 4 이상이라면 예를 들어 5라는 수는 원래 4라는 수이고, 6이라면 원래 5라는 수를 의미하기 때문에 4이상인 수에 대해서는 -1을 해줘야 한다. N=55인 경우 (5-1)x9^1 + (5-1)x9^0 = 36+4 = 40 이다. #incl..
-
프로그래머스 숫자의 표현(자바)코딩테스트 2023. 6. 7. 14:51
문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다. 처음에는 for문을 이중으로 돌리면 시간초과가 날 줄 알았는데 생각해보니 n^2이 1억이고 break를 이용해 중간에 for문을 빠져나오게 하면 시간초과가 안 났다. class Solution { publ..
-
백준 14719번 빗물(자바) - 스택코딩테스트 2023. 5. 29. 16:48
문제 2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다. 비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까? 입력 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다. 따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다. 출력 2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라. 빗물이 전혀 고이지 않을 경우 0을 출력하여라. 예제 입력 1 복사 4 4 3 0 1 4 예제 출력 1 복사 5 예제 입력 2 복사 4 8 3..
-
기타 문제풀이(합분해 문제 업그레이드)코딩테스트 2023. 5. 14. 17:44
숫자 k개를 더해서 n이 되는 경우의 수 구하기(k개는 모두 1이상이어야 하고 중복 불가능) import java.util.Scanner; class Program { static int count = 0; static boolean[] visited; public static void combinationSum(int depth, int target, int idx, int sum, int n, int k) { if (depth == k) { // 합이 n과 같으면 경우의 수 1 증가 if (sum == target) count++; return; } for (int i = idx; i