전체 글 51

[SW Expert Academy] 14450. 정수 입력기

최솟값 L, 최대값 R이 주어지고, 그 뒤로 들어오는 정수들에 대해서 향후 더 숫자를 더 입력 받았을 때, [L, R] 사이에 들어갈 가능성이 있는지 확인하는 문제 예를 들어 L = 331, R = 365 라고 했을 때, 새로 들어온 정수 Q = 3이라고 하면 숫자의 추가 입력으로 333 등의 수로 변할 수 있고, 이는 L, R 사이에 존재하는 값이니 참이다. (O 출력) 반대로 Q = 2인 경우, 어떠한 추가적인 입력이 들어와도 331 ~ 365 사이의 값으로 변화할 수 없다. 문제 자체의 난이도가 높기 보다는, 문제의 경우를 생각하는데 오랜 시간이 걸렸다. 1. L, R의 자리수가 같은 경우 예제 input으로도 주어져 빠르게 구할 수 있었다. 주어진 수 q와 L, R의 자리수를 맞춰서 비교해서 그 ..

Problem Solving 2022.07.05

3. Process API?

Summary Process API 들에 대해서. Process API는 System Call이다 fork(), exec(), wait()란? fork()와 exec()를 분리한 이유는? IO redirection pipe fork() 함수? 자식 프로세스를 생성하는 API Child process는 Separate memory space를 할당 받는다. 부모 프로세스와 같은 메모리 요소들을 가지고 있다. Child process has its own registers, and program counter (PC) 자식 프로세스는 부모 프로세스의 메모리를 복사한 다른 메모리를 사용한다. (부모, 자식 사이의 공유 X) fork() 함수는 부모 프로세스에 pid를 return하고 자식 프로세스에는 0을 r..

카테고리 없음 2022.05.16

Array - 배열에 대하여

아마도 모든 개발자들이 처음으로 접하고, 사용하는 자료구조인 배열. 이런 배열에 대해서 활용 방법보다는 배열을 사용하는 것으로 얻는 장점과 배열의 특징들에 대해서 정리해보고자 한다. Array, 배열의 정의는? : 배열은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료구조를 나타낸다 https://ko.wikipedia.org/wiki/%EB%B0%B0%EC%97%B4 배열 - 위키백과, 우리 모두의 백과사전 컴퓨터 과학에서 배열(영어: array, 配列·排列, 문화어: 배렬)은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 일반적으로 배열에는 같은 종류의 데이터들이 순차 ko.wikipedia.org 어려운 말은 아니지만 이해를 위해서 예시를 들면, 프로그램을 하다..

CS/자료구조 2022.05.16

백준 24729 심각한 계단 중독입니다 - C++

https://www.acmicpc.net/problem/24729 24729번: 심각한 계단 중독입니다 병철이는 다이어트를 위해 매일 계단을 오른다. 너무 많은 계단을 오르다 보니, 주변의 모든 사물이 계단형이 아니면 불편함을 느끼게 되었다! 그러다 보니 알고리즘 문제를 풀 때도 이런 문제 www.acmicpc.net - 계단식 수열에 관한 문제 - 문제에서 제시하는 조건을 만족하기 위해서는 1. 가장 낮은 계단과 가장 높은 계단 모두 이동 가능해야한다. (min ~ max 사이의 수가 1개씩은 존재해야함) 2. 수열의 시작과 끝은 절댓값 1 차이를 만족해야 한다. => start -> min -> max -> end 또는 start -> max -> min -> end 여기서 end = start +..

백준 15591 MooTube

https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 문제 농부 존은 남는 시간에 MooTube라 불리는 동영상 공유 서비스를 만들었다. MooTube에서 농부 존의 소들은 재밌는 동영상들을 서로 공유할 수 있다. 소들은 MooTube에 1부터 N까지 번호가 붙여진 N (1 ≤ N ≤ 5,000)개의 동영상을 이미 올려 놓았다. 하지만, 존은 아직 어떻게 하면 소들이 그들이 좋아할 만한 새 동영상을..

백준 1759 암호 만들기 - C++

https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 대표적인 DFS문제인 암호 만들기를 오랜만에 다시 풀어봤다. 정석적인 암호 만들기 문제로 현재 원소를 넣고 다음 원소로 향하는 것, 넣지 않고 다음 원소로 향하는 것 2가지 선택지를 가지고 DFS를 진행하면 문제를 해결할 수 있다. 주석으로 자세하게 설명하는 습관을 만들어보려고 노력중.. PS. cout

2. Process

Summary - 프로세스는 무엇인가? 어떻게 생성되는가? (5단계) - 어떻게 프로그램들에게 각자마다 CPU가 하나씩 있다는 환상을 줄 것인가? By virtual CPU & Time sharing ⇒ context switch (overhead 존재..) CPU를 가상화하고, 프로그램마다 CPU를 차지하는 시간을 배정해서 실현할 수 있다. CPU를 차지하는 프로그램이 바뀔 때마다 내부 레지스터의 값 등 프로그램의 다음번 실행을 위해서 계속 저장해야하는 값을 다른 공간에 저장하고, 불러오는 Context Switch 라는 과정이 존재하고, 이는 필연적으로 Overhead가 존재한다. - Process API 에는 어떤 종류의 명령들이 있는가 - Process States (Reay, Running, B..

CS/운영체제 2022.03.04

백준 1850 : 최대공약수

https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 문제 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A가 111이고, B가 111111인 경우에는 최대공약수가 111이다. 입력 첫째 줄에 두 자연수 A와 B를 이루는 1의 개수가 주어진다. 입력되는 수는 263..

유클리드 호제법 - GCD

https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법 - 위키백과, 우리 모두의 백과사전 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 ko.wikipedia.org 정의 2개의 자연수 또는 정수의 최대 공약수를 구하는 알고리즘의 하나이다. 호제법이란 말의 뜻은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수을 얻는 알고리즘을 나타낸다. 설명 두 정수 또는 자연수 A, B가 있을 때, A와 B 사이의 최대 ..

CS/알고리즘 2022.02.16

백준 Load Balancing (Silver) 11997 - C++

https://www.acmicpc.net/problem/11997 11997번: Load Balancing (Silver) Farmer John's \(N\) cows are each standing at distinct locations \((x_1, y_1) \ldots (x_N, y_N)\) on his two-dimensional farm (\(1 \leq N \leq 1000\), and the \(x_i\)'s and \(y_i\)'s are positive odd integers of size at most \(1,000,000\)). FJ wants to par www.acmicpc.net 일단 문제 설명이 영문으로 되어있어서 다들 많이 풀지도 않고, 인기 없는 문제. 신촌 알고리즘 캠프..