반응형

알고리즘 공부

[07이진탐색] 이진 탐색: 반으로 쪼개면서 탐색하기 (p188~p196)

[이진 탐색]이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다.데이터가 무작위일 떄는 사용할 수 없지만, 이미 정렬되어 있다면 매우 빠르게 데이터를 찾을 수 있다는 특징.이진탐색은 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 특징이 있음.이진탐색의 위치 변수 3가지:1. 시작점, 2. 끝점, 3. 중간점→ 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 과정 [이미 정려로딘 10개의 데이터 중 값이 4인 원소 찾기] 전체 데이터 개수는 10개지만, 이진 탐색을 이용해 총 3번의 탐색으로 원소를 찾음이진탐색은 한번 확인 시마다 개수가 절반씩 줄어들어 시간 복잡도는 O(log N)임 [재귀함수로 구현한 이진 탐색 소스코드]# 이진 탐색 ..

이코테 2025.11.30 0
[07이진탐색] 순차 탐색 (p186~p191)

[순차 탐색]리스트 안에 있는 특정한 데이터를 찾기 위해 아펭서부터 데이터를 하나씩 차례대로 확인하는 방법정렬되지 않은 리스트에서 데이터를 찾아야 할 때 사용됨. 리스트의 데이터에 하나씩 방문하여 특정한 문자열과 같은지 검사하는 로직순차탐색의 용처:1. 리스트에 특정 값의 원소가 있는지 체크할 때도 순차 탐색으로 원소를 확인2. 리스트 자료형에서 특정한 값을 가지는 원소의 개수를 세는 count() 메서드를 이용할때도 내부에서 순차탐색 수행 [소스코드]# 순차탐색 소스코드 구현def sequential_search(n, target, array): # 각 원소를 하나씩 확인하며 for i in range(n): # 현재의 원소가 찾고자 하는 원소와 동일한 경우 if a..

이코테 2025.11.30 0
[06정렬] 실전 문제-두 배열의 원소 교체 (p182~p184)

[문제]동빈이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수이다. 동빈이는 최대 K번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산이란 배열 A에 있는 원소 하나와 배열 B에 있는 원소 하나를 골라서 두 원소를 서로 바꾸는 것을 말한다. 동빈이의 최종 목표는 배열 A의 모든 원소의 합이 최대가 되도록 하는 것이며, 여러분은 동빈이를 도와야 한다.N, K, 그리고 배열 A와 B의 정보가 주어졌을 때, 최대 K번의 바꿔치기 연산을 수행하여 만들 수 있는 배열 A의 모든 원소의 합의 최댓값을 출력하는 프로그램을 작성하시오.예를 들어 N=5, K=3이고 배열 A와 B가 다음과 같다고 하자.배열 A = [1, 2, 5, 4, 3]배열 B = [..

이코테 2025.11.26 0
[06정렬] 실전문제-성적이 낮은 순서로 학생 출력하기 (p180~p181)

[문제]N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다. 각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오. [입력 조건]첫 번째 줄에 학생의 수 N이 입력된다. (1 두 번째 줄부터 N + 1 번째 줄에는 학생의 이름을 나타내는 문자열 A와 학생의 성적을 나타내는 정수 B가 공백으로 구분되어 입력된다. 문자열 A의 길이와 학생의 성적은 100 이하의 자연수이다.[출력 조건]모든 학생의 이름을 성적이 낮은 순서대로 출력한다. 성적이 동일한 학생들의 순서는 자유롭게 출력해도 괜찮다.[입력 예시]2홍길동 95이순신 77 [출력 예시]이순신 홍길동 [문제 해설]학생의 정보가 최대 100,000개 까지 입력될 수 있으므로 ..

이코테 2025.11.26 0
[06정렬] 실전문제-위에서 아래로 (p178~p179)

[문제]하나의 수열에는 다양한 수가 존재한다. 이러한 수는 크기에 상관없이 나열되어 있다. 이 수를 큰 수 부터 작은 수의 순서로 정렬해야한다. 수열을 내림차순으로 정렬하는 프로그램을 만드시오. [입력 조건]첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다 (1 둘째 줄부터 N + 1 번째 줄까지 N개의 수가 입력된다. 수의 범위는 1이상 100,000이하의 자연수이다.[출력 조건]입력으로 주어진 수열이 내림차순으로 정렬된 결과를 공백으로 구분하여 출력한다. 동일한 수의 순서는 자유롭게 출력해도 괜찮다. [입력 예시]3152712 [출력 예시]27 15 12 [문제 해설]가장 기본적인 정렬을 할 수 있는지 물어보는 문제.파이썬의 기본 정렬 라이브러리를 이용하는 것이 효과적 [소스 코드]# N을 입력받..

이코테 2025.11.26 0

Master를 위한 공부

more

[논문리뷰 ICLR] AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning

AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning 1. About AnimateDiff기존의 다양한 Text-to-Image diffusion 모델을 fine-tuning 없이 애니메이션 생성기로 전환하기 위한 일종의 모듈이라고 보면 된다.즉, 기존의 T2I 디퓨전 모델에 사전 학습된 motion module(AnimateDiff)을 plug-and-play 형태로 삽입해 애니메이션 생성 가능하다고 한다.2. Background & Motivation Limitation of Previous Approaches and Key Differentiation최근 Text-to-Image dif..

Paper Review 2025.10.17 0

R 프로그래밍에서 결측치(NA) 처리 및 연산 방법

결측치(NA) 처리R 프로그래밍에서 결측치(missing value)는 NA(Not Available)라는 문자로 처리됩니다. 또한, NaN(Not a Number)은 분모를 0으로 나누는 것과 같이 계산이 불가능한 경우 출력되는 문자입니다. 이 글에서는 NA를 처리하는 방법과 결측치가 포함된 데이터에 대한 연산 방법을 알아보겠습니다. 1. 결측치의 기본 이해R에서 결측치는 NA로 표시됩니다. 예를 들어, 다음과 같은 벡터 y가 있을 때:y  is.na() 함수는 벡터에 결측치가 존재하는 경우 TRUE를 반환합니다.is.na(y)# [1] FALSE FALSE FALSE TRUE 결측치가 포함된 벡터 y에 대해 요약 통계를 구하면 다음과 같이 결과에 NA's 항목이 포함됩니다.summary(y)# Mi..

AI & Computer Science 2024.09.01 7

통계적 이상치 탐지: R을 활용한 단계별 가이드

이상치란?통계에서 이상치(outlier)는 데이터 샘플에서 관측된 값이 다른 관측값들과 큰 차이를 보일 때를 의미합니다. 이는 데이터의 가변성 때문일 수 있으며, 경우에 따라 잘못된 실험으로 인해 발생한 에러일 수도 있습니다. 후자의 경우 데이터 분석 이전에 반드시 이상치를 제거해야 합니다. 이 포스팅에서는 R 프로그래밍을 활용해 다양한 이상치 검출 방법을 알아보겠습니다. 0. 데이터 샘플링이상치 검출 테스트를 위해 이상치가 포함된 데이터를 생성해보겠습니다.1) 데이터 생성정규분포를 따르는 100개의 데이터를 생성하고, 그 중 일부 데이터에 이상치를 추가합니다.data 2) 데이터 분포 시각화생성된 데이터의 분포를 시각화하여 이상치를 확인합니다.hist(data, breaks=20, probability..

AI & Computer Science 2024.09.01 1

DICOM (DCM) 이미지를 PNG, JPG로 변환하기

의료 영상 데이터를 활용한 머신러닝 학습을 위해 DICOM 파일을 PNG나 JPG와 같은 이미지 포맷으로 변환해야 할 때가 많습니다. 예전에 어떤 라이브러리를 사용했는지 기억이 나지 않아 다시 찾아보니, 간단하면서도 강력한 패키지를 발견했습니다. 바로 mritopng입니다. mritopng 패키지 소개mritopng는 DICOM 파일을 PNG 포맷으로 손쉽게 변환할 수 있는 파이썬 패키지입니다. 설치와 사용법이 매우 간단하며, 폴더 내의 모든 DICOM 파일을 일괄적으로 변환하는 기능도 지원합니다. mritopng 설치 방법먼저 GitHub에서 소스 코드를 다운로드합니다: mritopng GitHub Repository.다운로드한 zip 파일을 압축 해제합니다.터미널(콘솔)에서 다음 명령어로 패키지를 설..

AI & Computer Science 2024.09.01 3

DeLong’s Test를 활용한 AUC 비교: Python 구현 가이드

머신러닝과 딥러닝 모델을 평가할 때, AUC(Area Under the ROC Curve)는 중요한 성능 지표 중 하나입니다. 특히, 두 모델 간의 성능을 비교할 때는 단순히 AUC 값을 비교하는 것 이상으로, 그 차이가 통계적으로 유의한지를 확인하는 것이 중요합니다. 이를 위해 DeLong’s test라는 강력한 통계 검정 방법을 사용할 수 있습니다. 이번 포스트에서는 Python을 사용하여 DeLong’s test를 구현하는 방법과 그 작동 원리에 대해 설명하겠습니다.  DeLong’s Test란? DeLong’s test는 두 개의 ROC(Receiver Operating Characteristic) 곡선의 AUC를 비교하여 두 모델 간의 성능 차이가 통계적으로 유의한지를 평가하는 방법입니다. 이 ..

AI & Computer Science 2024.08.30 11

잡다한 지식들

more

[Ubuntu] 삼바(Samba)를 설치해서 홈 NAS를 만들어보자 (하드 자동 마운트 방법)

홈 나스를 우분투로 구축해놓고 쓰는데, 가끔 포맷할때마다 설정을 까먹어 매번 찾아보는 나를 위해 글을 쓴다. 지금 홈 나스로 2TB용량의 컴퓨터를 두고 있는데, 원래는 운영체제를 하드에다가 동시에 설치했었다.이렇게 하면 단점이, 시스템 자체가 HDD에서 동작하므로 NAS접속과 무관하게 계속 하드가 읽기/쓰기 모드로 작동한다는거다. 따라서 이번에 USB에 우분투를 부팅가능하게 해놓고, 2TB HDD는 온전하게 데이터 저장용으로 설정하고자 우분투를 싹 밀었다. 그러나,,, 우분투는 부팅 디스크 이외의 추가적인 디스크는 자동 마운트가 안되는것이다. 따라서 이번 포스팅에서는1. 우분투에서 추가적인 하드디스크 자동 마운트2. samba설정 이렇게 진행해보려고 한다. 우분투에서 추가적인 하드디스크 자동 마운트 ..

Linux Setting 2025.11.10 0

[Ubuntu] SSH 설정 방법 매뉴얼

홈 나스를 우분투로 구축해놓고 쓰는데, 가끔 포맷할때마다 설정을 까먹어 매번 찾아보는 나를 위해 글을 쓴다. 기왕 포스팅을 작성하는김에 SSH의 정의가 무엇인지 ChatGPT에게 물어본다. SSH는 원격으로 해당 컴퓨터를 제어하기 위한 원격 프로토콜이다.보통 우분투 등 서버로 사용하는 컴퓨터의 경우 모니터 없이 쓰는 경우가 많기때문에, 처음 운영체제를 설치하자 마자 해야할 일은 SSH설정하기이다. 본 포스팅은 우분투 20.04~24.04를 기준으로 작성한다. 1. 터미널을 열고 아래 명령어로 잔여 패키지를 업데이트 해준다.sudo apt-get update 2. SSH를 설치한다.sudo apt-get install openssh-server 3. SSH서버를 자동으로 시작하도록 설정한다.sudo sys..

Linux Setting 2025.11.10 0

[Linux GPU] Nvtop 설치방법 (nvidia-smi 대체)

nvidia-smi는 실시간 모니터링을 위해선 추가적인 arg를 붙여줘야한다.nvtop의 경우는 그런거 없이 실시간 GPU 모니터링을 가능하게 해준다. 설치방법은 간단하다. Linux에서만 지원한다는 단점이 있지만... sudo apt install nvtop 이렇게 설치하고 나서 터미널에 nvtop 이렇게 입력하면 잘 뜨는것을 확인할 수 있다. 내가 끄지 않는이상 계속 실시간 GPU 사용량 모니터링이 가능해서 유용하다.

Linux Setting 2025.10.16 0

유용한 프로그램들

[GPU드라이버] RTX Titan 드라이버 566.36버전 (이유없는 블루스크린, 셧다운 등등...)

연구실에서 사용하는 워크스테이션의 그래픽카드가 RTX Titan인데, 연식이 꽤 있어 드라이버를 최신버전으로 설치하면 이슈가 생긴다. 보통 딥러닝 학습에 주로 사용하는데 이유없이 재부팅된다거나, 프리징된다거나, 블루스크린 등...윈도우 로그를 확인해보면 Kernal-Power라고 뜨지만 GPU문제임이 거의 확실한거같다. 우선 엔비디아 GPU 드라이버 버전중에 가장 안정적이라고 평가되는 566.36버전으로 드라이버를 다시 깔았다.https://www.nvidia.com/ko-kr/geforce/drivers/results/237721/ 시스템을 위한 다운받기. 출시" data-og-host="www.nvidia.com" data-og-source-url="https://www.nvidia.com/ko..

Software | Utils 2025.10.17 0
[소프트웨어] CrystalDiskMark 크리스탈 디스크 마크 (SSD 속도측정 프로그램, HDD 속도측정, 저장장치, 외장하드 속도, USB, 무설치, Zip 파일)

새로운 저장장치를 구매하면 내가 산 제품의 속도가 궁금할 것입니다. 윈도우의 탐색기에서 파일을 옮겨가며 속도를 직접 확인할 수 있지만, 객관적이게 확인하긴 어렵다는 단점이 있습니다. 저장장치(SSD, HDD)의 속도를 확인하기 위해선 프로그램을 사용해야 하는데, 이때 가장 범용적으로 사용되는 소프트웨어가 크리스탈 디스크 마크입니다. 크리스탈 디스크 마크는 간단한 몇번의 클릭으로 아주 간편하게 저장장치의 속도를 확인할 수 있다는 장점이 있습니다. ※ CrystalDiskMark 다운로드 바로가기 ※ Download - Crystal Dew World [en] (crystalmark.info) Download [2023/07/12] CrystalDiskInfo 9.1.1 – Manual / History S..

Software | Utils 2023.08.11 0
[소프트웨어] CrystalDiskInfo 크리스탈 디스크 인포 (하드디스크 수명 확인, SSD, HDD, 배드섹터, 하드디스크 가동시간, 무설치, Zip파일)

하드디스크나 SSD는 소모품입니다. 소모품의 특성상 수명이 다하면 속도가 느려지고, 작동이 원할하지 않을 수 있습니다. 내 HDD 또는 SSD의 수명이 얼마나 남았는지 궁금할땐 소프트웨어를 이용하여 확인해주어야 하는데, 이때 가장 범용적으로 사용되는 프로그램이 크리스탈 디스크 인포입니다. 크리스탈 디스크 인포는 무료 소프트웨어이며, 몇번의 클릭으로 간단하게 저장장치의 수명을 확인할 수 있습니다. ※ CrystalDiskInfo 다운로드 바로가기 ※ Download - Crystal Dew World [en] (crystalmark.info) Download [2023/07/12] CrystalDiskInfo 9.1.1 – Manual / History Standard Edition 4 themes / 5..

Software | Utils 2023.08.11 0
[소프트웨어] 기가바이트 그래픽카드 LED색 변경 프로그램 GIGABYRE OC GURU (기가바이트 GTX 980TI LED 색 변경, 그래픽카드 오버클럭, GPU 오버클럭, 기가바이트 LED색 변경)

기가바이트의 그래픽카드중 RGB를 지원하는 제품의 경우 RGB색 변경이 가능합니다. 이 프로그램의 경우 원래 GPU 오버클럭을 위해 나온 프로그램이지만, 여기선 LED 색상 변경을 위주로 다뤄보도록 하겠습니다. 엔비디아의 GTX 980 TI는 2015년에 출시된 제품으로, 출시된지 꽤 된 제품입니다. 하지만 아직 현역으로 사용하기 충분할 만큼의 성능을 제공하므로 쓸만합니다. ※ 기가바이트 OC GURU 다운로드 ※ https://www.techspot.com/downloads/downloadnow/7105/?evp=24a796b8044ffe51090c8278f048157d&file=9346 Gigabyte OC Guru OC Guru II from Gigabyte is all-in-one utility ..

Software | Utils 2023.08.10 0
[소프트웨어] CpuZ 다운로드 (컴퓨터 CPU 확인, 그래픽카드 확인, 컴퓨터 부품 확인, 무설치, Zip파일)

컴퓨터를 사용하다보면 내 컴퓨터에 무슨 부품이 사용되었는지 확인해야할 때가 있습니다. 윈도우 10 및 11의 경우 작업관리자에서 간단하게 확인할 수 있지만, 보다 상세하게 부품의 정보를 알 수는 없습니다. 이때 필요한것이 컴퓨터 부품을 확인해주는 프로그램이며, CpuZ를 많이 사용합니다. ※ HWmonitor 다운로드 바로가기 ※ CPU-Z | Softwares | CPUID CPU-Z | Softwares | CPUID CPU-Z on x86 is a freeware that gathers information on some of the main devices of your system : Processor name and number, codename, process, package, cache le..

Software | Utils 2023.08.10 0
반응형