INK study
article thumbnail
[자료구조] 이진탐색 (Binary Search)
Study/DataStructure 2023. 7. 18. 14:36

이진 탐색 = UpDown 게임 순차 탐색은 처음부터 끝까지 보면서 탐색하므로 O(N)의 시간이 걸림. 이진 탐색은 배열을 절반으로 계속해서 나누어 mid값이 목표값이 될 때까지 나누게 됨. O(logN)의 시간이 소요됨 다만, 이진 탐색은 이미 정렬되어있는 배열에서 탐색해야한다. 그렇지 않으면 정상적으로 동작하지 않음. 이진탐색 구현 - python으로 구현하였다. def BinarySearch (arr,target): left = 0 right = len(arr)-1 while(True): mid = (left+right)//2 if(arr[mid] == target): return mid elif(arr[mid] < target): left = mid+1 else: right = mid-1 targ..

article thumbnail
모각코 2주차 모임 활동결과

1. 인프런 강의 듣기 2. 코딩 문제 풀기 https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 투포인터를 사용하여 문제를 풀었다. import sys N, M = map(int, sys.stdin.readline().split()) A = list(map(int, sys.stdin.readline().split())) count = 0 start = 0 end = 0 total = 0 while start

article thumbnail
[자료구조] 선택정렬
Study/DataStructure 2023. 7. 17. 10:55

1. 전체 값 중 가장 작은 값을 찾음 2. 해당 값을 맨 첫번째에 배치함 3. 첫번째 값을 제외하고 가장 작은 값을 찾아 두번째에 배치함 4. 두번째, 세번째, ... n-1번째 값을 제외하고 가장 작은 값을 찾아 정해진 위치에 배치함. ✨선택정렬의 시간 복잡도 버블 정렬 : 중간에 정렬이 완료된 것이 확인되면 정지 선택 정렬 : 반드시 n-1,n-2,...,2,1 번의 비교 연산을 수행해야함. 약 n*(n-1)/2번의 연산을 필요로 함 = O(N^2) ✨선택정렬의 구현 python으로 구현해보겠다. def selection_sort(arr): length = len(arr) for i in range(length-1): minindex = i for j in range(i+1,length): if a..

article thumbnail
시간복잡도
Study/DataStructure 2023. 7. 14. 14:09

for문이 1억번 도는데 1초정도의 시간이 소요됨 - 제한 시간이 1초인 문제를 풀 때 대략 1억 이하의 시간복잡도를 보이는 솔루션이면 통과 가능하다 N

article thumbnail
[배열] 타노스 배열
Coding Test/Java 2023. 7. 13. 15:27

타노스 배열 - 문제 (난이도 하) 드디어 타노스는 인피니티 건틀렛을 손에 넣었고, 타노스 정렬을 시행하려고 한다. 타노스 정렬은 세상에서 두번째로 빠른 정렬 알고리즘이다. 길이가 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가 주어진다. ..

article thumbnail
[배열] 스파이 찾기
Coding Test/Java 2023. 7. 13. 15:13

스파이 찾기 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)이다. 주어지는 수열에서 단 한 개의 수를 제외하고 나머지 수는 모두 같다. - 출력 각 테스트 케이스마다 문제의..

article thumbnail
모각코 1주차 모임 활동결과

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..

article thumbnail
[OS] 3. 프로세스의 이해
Study/Operating System 2023. 7. 6. 17:22

프로세스 속성과 제어 (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 상태 (프로세스 실행중) ..

article thumbnail
[OS] 2. 운영체제 구조
카테고리 없음 2023. 5. 1. 02:36

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.. 각자가 자체적으로 수정 가능 굉장히 편리하게 수정하기 좋다 → 연..

article thumbnail
[OS] 1. 운영체제 기초
Study/Operating System 2023. 4. 27. 16:42

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할 때 중간중간 비는 시간 생김

article thumbnail
[BJ] 10773 - 제로[Java]
Coding Test/Baekjoon 2023. 4. 27. 16:32

10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net stack을 사용해서 풀어야하는 문제이다. ✏️ 문제 내용 1. 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 ..

article thumbnail
[IP] 이미지 Segmentation(분할)
Study/Image Processing 2023. 4. 27. 15:55

🤔 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..