for문이 1억번 도는데 1초정도의 시간이 소요됨 - 제한 시간이 1초인 문제를 풀 때 대략 1억 이하의 시간복잡도를 보이는 솔루션이면 통과 가능하다 N
타노스 배열 - 문제 (난이도 하) 드디어 타노스는 인피니티 건틀렛을 손에 넣었고, 타노스 정렬을 시행하려고 한다. 타노스 정렬은 세상에서 두번째로 빠른 정렬 알고리즘이다. 길이가 N인 수열 A[1], A[2], ... , A[N]이 주어졌을 때 이 수열을 타노스 정렬하는 과정은 다음과 같다. A[i] > A[i + 1] (1 ≤ i ≤ N - 1)를 만족하는 원소 A[i]를 인피니티 건틀렛을 이용해 절반으로 줄인다. 즉, A[i] = floor(A[i] / 2) 를 적용한다. 이를 만족하는 원소가 여러 개 있다면 가장 앞서는 것을 처리한다. 더 이상 처리할 수 있는 원소가 없을 때까지 1번 과정을 반복한다. 주어진 수열 A를 타노스 정렬해보자. - 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. ..
스파이 찾기 https://campus.programmers.co.kr/tryouts/90593/challenges - 문제 (난이도 하) 준식이는 수열 A[1], A[2], ..., A[N] (N ≥ 3) 을 가지고 있다. 이 수열에서 단 한 개의 수를 제외하고 나머지 수는 모두 같다. 그 수는 수열에서 몇 번째에 위치할까? - 입력 첫째 줄에 테스트 케이스의 개수 T 가 주어진다. 각 테스트 케이스의 첫째 줄에 수열의 길이 N (3 ≤ N ≤ 100)이 주어진다. 둘째 줄에 A[1], A[2], ..., A[N]이 주어진다. 수열의 i번째 원소는 정수 A[i] (1 ≤ A[i] ≤ 100)이다. 주어지는 수열에서 단 한 개의 수를 제외하고 나머지 수는 모두 같다. - 출력 각 테스트 케이스마다 문제의..
23.07.05 / 수요일 / 20:00~23:00 모각코 블로그 -> https://inkinkb-mogak.tistory.com/54 진저비어 팀: 모각코 1주차 모임 활동결과(23.07.05 / 수요일 / 20:00~23:00) 프로젝트 최종 제출이 다음날이었기 때문에 프로젝트 회의와 작성에 많은 시간을 들였다. 1. 1학기 전공내용 정리 : 운영체제의 프로세스를 블로그에 정리하였다. https://ongsimida.tistory.com/40 [OS] 3. inkinkb-mogak.tistory.com 프로젝트 최종 제출이 다음날이었기 때문에 프로젝트 회의와 작성에 많은 시간을 들였다. 1학기 전공내용 정리 : 운영체제의 프로세스를 블로그에 정리하였다. https://ongsimida.tistory..
프로세스 속성과 제어 (Process description, control) 프로세스에 대해 알아보겠다. 프로세스란? 프로그램이 실행상태에 있는 것 프로그램을 더블클릭 했을 때 실행되는 것 사람이 프로세스를 만들 수 있음 사람 말고도 프로세스가 프로세스를 만들 수 있음 ( 부모, 자식) 현재 상태 프로세스는 누가 만들까? 인간이 만든다 : 인간이 프로그램 실행시 (GUI, cmd) 프로세스가 만든다 : 시스테 프로세스를 작동할 때, user process Process의 3요소 Executable program Data used in program Execution context of th eprogram process의 상태 Process States Model running 상태 (프로세스 실행중) ..
Monolithic Kernel, Microkernel 사용 예시 : 상용화된거는 대부분 monolithic kernel. Microkernel은 성능이 좋진 않아서 windows에서만 일부 사용 1. monolithic kernel -> OS 안에 들어 있는 s1 s2 s3 바뀐 os 바이너리는 어디에 저장? → 보조기억장치에 저장 (파일 형태) → 메인메모리로 들어오는과정 = 부팅 S1,s2각자가 하드웨어 의존적인 부분이 있을 수 있으므로 여러군데 고쳐야함 - 다 뜯어서 고칠 수 밖에 없음 2. micro kernel -> S1,S2,S3가 운영체제 밖으로 나와있음. 컴퓨터를 끌 필요가 없음 - 부팅 안해도 바꿀 수 있는 s1 s2.. 각자가 자체적으로 수정 가능 굉장히 편리하게 수정하기 좋다 → 연..
OS Application program의 실행을 제어하는 소프트웨어 Program과 hardware사이의 인터페이스 효율성과 편의성이 목적 OS가 제공하는 서비스 프로그램의 실행 Serial Processing (Operation by human) 범용 컴퓨터 Scheduling 이 없음 Simple batch system : monitor - 운영체제의 초창기 모습 모니터가 여러개의 프로그램을 일괄적으로 제어 Uni-programming CPU가 run하다가 wait함 실행 - 입력 → 실행 → 출력 Time sharing 과 멀티 프로그래밍의 throughput이 똑같은거 아니냐? 아니다. Timesharing할 때 중간중간 비는 시간 생김
10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net stack을 사용해서 풀어야하는 문제이다. ✏️ 문제 내용 1. 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 ..
🤔 Segmentation이란? - Image segmentaion : 이미지를 비슷한 정보를 가진 단위로 나눈 것 더보기 💡 클래식한 접근이다. 1. Point clustering : 비슷한 종류끼리 묶음 2. Image segmentation 3. Semantic segmentation : 이미지 내의 의미있는 클래스들끼리 분할 4. Video object segmentation : 움직이는 사진, 영상(비디오)의 의미있는 객체,object만을 분할 - segmentation method의 방법 🤔Image thresholding 이란? Single threshold 픽셀의 grayLevel > T 이면 하얗다 픽셀의 grayLevel 많이 쓸수록 복잡해진다. T1과 T2사이에 픽셀이 존재할 경우 w..
각 프로세스는 하나의 프로세스 그룹에 속한다 기본적으로 자식은 부모와 같은 그룹에 속한다 쉘은 각 job마다 별도의 프로세스 그룹을 만든다 양수 프로세스 그룹 ID로 식별함 (process group ID) 시그널 처리할 때 프로세스 그룹 관리하는 이유 : job으로 먼저 등록 , 한줄에 여러개의 명령어 침 한 줄에 들어오는 모든 명령어 = 하나의 job → 자식을 만들면 groupID같다 foreground job은 키보드 작업 수행 가능 ctrl c background 는 키보드 불가 ctrl c안먹음 💡 getpgrp() : 프로세스의 프로세스 그룹을 리턴 💡 setpgid() : 프로세스의 그룹을 변경 (성공하면 0, 실패 시 -1) 🧐kill → 시그널 보내기 /bin/kill : 프로세스 또는..
🧐시그널 : 상위 수준의 예외적 제어 흐름 소프트웨어(전기적) OS 소프트웨어로 구현 예외 상활과 인터럽트를 커널에서 추상화함 커널이 프로세스에게 보내준다 서로 다른 시그널들은 정수 아이디로 구분한다 시그널에 포함된 유일한 정보는 시그널 아이디와 시그널이 도착했다는 사실이다어떤 이벤트가 시스템에 발생했다는 것을 프로세스에게 알려주는 짧은 메시지 send 시그널을 보낸다 : 커널은 목적지 프로세스의 컨텍스트 내 일부 상태를 갱신하는 방법으로 시그널을 목적지 프로세스에 보낸다 커널은 다음과 같은 경우에 시그널을 보낸다 커널이 divide by zero (SIGFPE) 나 자식 프로세스의 종료(SIGCHLD) 와 같은 시스템 이벤트를 감지했을 때 ( 0으로 나누거나 자식 프로세스의 종료 같은 시스템 이벤트) ..
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net comparator return 값이 음수이면 위치를 바꾸지 않음 return 값이 양수이면 위치를 바꿈 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util..