본문 바로가기

D.evelop [CS]52

[알고리즘 이론] 정렬 Sort - 2-3. 비교 기반 알고리즘 (삽입 정렬) 💡예시에 대한 가정 - 입력 크기 n - 입력 배열 A[0…. n-1] - 입력 데이터 : 양의 정수 - 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-3) 삽입 정렬 (Insertion sort) 주어진 데이터를 하나씩 뽑은 후, 이미 나열된 데이터들이 항상 정렬된 상태를 갖도록 바른 위치를 찾아 뽑은 데이터를 삽입해서 나열하는 방식 정렬 부분 A[0…k-1] 과 미정렬 부분 A[k…n-1] 으로 구분해서 처리 정렬 과정 미정렬 부분 A[k…n-1]에서 1번째 데이터를 뽑아 정렬 부분 A[0…k-1]에서 올바른 자리에 삽입 입력 데이터 A [10, 30, 40, 20, 70, 50, 60] 1️⃣. 입력데이터를 정렬부분과 미정렬 부분으로 나눈다. 2️⃣. 미정렬 부분의 첫번째 데이터 20을 뽑는.. 2024. 4. 24.
[알고리즘 이론] 정렬 Sort - 2-2 비교 기반 알고리즘 (버블 정렬) 💡예시에 대한 가정 - 입력 크기 n - 입력 배열 A[0…. n-1] - 입력 데이터 : 양의 정수 - 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-2) 버블 정렬 (Bubble sort) 모든 인접한 두 데이터를 차례로 비교 후, 왼쪽 데이터가 더 큰 경우 오른쪽 데이터와 자리를 바꾸는 방식을 반복 정렬 과정 : 비교 진행 방향 →, ← 에 따라 비교 비교 진행 방향에 따라 정렬 과정이 달라짐 • 왼 → 오 : 큰 값 부터 찾아 오른쪽 끝 부터 위치 (오른쪽 끝부터 정렬) …. < 세 번째로 큰< 두번째로 큰 < 가장 큰 • 왼 ← 오: 가장 작은 값부터 찾아 왼쪽 끝부터 위치 (왼쪽 끝부터 정렬) 가장 작은 < 두 번째로 작은 < 세번째로 작은 < ….. 왼쪽 → 오른쪽 50과 20을 비교.. 2024. 4. 22.
[알고리즘 이론] 정렬 Sort - 2-1. 비교 기반 알고리즘 (선택 정렬) 💡예시에 대한 가정 - 입력 크기 n - 입력 배열 A[0…. n-1] - 입력 데이터 : 양의 정수 - 정렬 방식 : 오름차순 (1, 2, 3, 4,…) 2-1) 선택 정렬 (Selection sort) 입력 배열에서 가장 작은 값부터 순서대로 선택해서 나열하는 방식 정렬 과정 📍배열 A = [60, 90, 30, 10] (0단계) 1. 미정렬 부분에서 최솟값을 찾음 = 10 A = [60, 90, 30, 10] 2. 이 최솟값과 미정렬 부분의 첫 번째 데이터[60] 비교 10 과 60 비교 : 10 은 60보다 작다. (조건 만족) A = [60, 90, 30, 10] 3. 조건만족 시, 위치를 교환 -> 이 과정을 반복 A = [10, 90, 30, 60] 미정렬 부분에서 정렬 시작 (1단계) 최소.. 2024. 4. 18.
[알고리즘 이론] 정렬 Sort - 1. 기본 개념 1. 기본 개념 1) “정렬(Sort)”이란? 주어진 데이터를 값의 크기 순서에 따라 재배치 하는 것 대표 : 오름차순(Ascending), 내림차순(Descending) 2) 정렬 구분 기준 : 정렬이 수행되는 시점에 데이터가 어디에 저장되어 있는가? ✅ 내부 정렬 컴퓨터 내에 있는 주기억 장치에 데이터가 있음 전체 데이터 위치 : 주기억장치에 저장 → 정렬 수행 외부 정렬 주기억 장치 밖에 데이터가 있음 (주기억장치에 모든 데이터를 저장 할 수 없는 경우) 전체 데이터 위치 : 보조 기억장치 → 필요한 일부 데이터만 반복적으로 주기억장치로 옮겨 → 정렬 수행 3) 내부 정렬의 정렬 방식 📍point - 몇 번 비교 했는가 vs 몇 번 이동했는가! 비교 기반 알고리즘 어떤 값을 비교할 때, 직접 적으로.. 2024. 4. 18.
[Linux] 파일과 폴더 권한 수정, root 파일 비밀번호 설정 1. PC 재 세팅 후 프로젝트 파일을 다시 내려 받았는데, 파일 수정 후 저장이 되지 않는 현상이 있었습니다. 2. 이 경우 파일 또는 폴더 생성도 되지 않는 경험이 있어 mkdir 명령어로 파일 생성을 시도해보았는데, 생성 되지 않았습니다. 3. (캡쳐를 못했는데) vscode 하단에 권한 문제라는 경고창이 떴습니다. 4. 다음과 같은 명령어로 소유자 권한을 체크했습니다. ls -l 또는 ll // 수정할 파일과 그 파일이 속한 디렉토리 등의 권한을 확인 whoami // 현재 로그인 중인 계정 저는 dan 이라는 계정으로 로그인이 되어있었는데, 부모 디렉토리인 work의 소유자 권한은 dan이었으나, 자식 디렉토리인 test의 소유자 권한이 root로 되어있어 test 폴더 내에서는 파일을 생성하거.. 2023. 9. 26.
[이산수학] 1. 이산수학 / 2. 논리 1. 이산수학 1. 연속적인 것 이산적인 것 2. 도구, 기법, 방법론 도구 : 정의, 정리 기법 : 가우스 소거법, 근의 공식 방법 : 언제 무슨 기법을 무슨 도구로 어디다 쓸 것인지? 문제 해결 수학적 모델링 : 문제 > 추상 모델 >변형된 모델 > 문제 해결책 정보 모델링 : 문제 > 정보 > 처리 > 문제의 해결책 3. 추상화(abstraction) 수학적 개념 : 문제를 해결하기 위해 문제의 핵심 냄용만 남기고, 관련 없는 것들을 제거 -> 문제를 단순화 예 : 사과의 형태 = 동그란 형태에 꼭지가 있는 것. 그게 프랑스산 사과인지 대구산 사과인지, 초록색인지 빨간색인지는 중요한 부분이 아니다. 4. 알고리즘 (algorithm) computer programming language : 컴퓨터 .. 2023. 3. 19.
[Linux 명령어]E45: 'readonly' option is set (add ! to override) E45: 'readonly' option is set (add ! to override) Readonly의 경우 :w!로 저장 (강제 저장) 2023. 2. 9.
Window에서 Ubuntu 설치 - Ubuntu, wsl 2, oh my zsh 설치 윈도우와 맥은 파일 시스템이 다릅니다. Window에서 Ubuntu 설치해서 맥(Linux)의 파일 시스템을 네트워크로 잡아서 사용할 수 있습니다. [절차] 1. Ubuntu 설치 2. wsl2 설치 3. zsh 설치 4. oh my zsh 설치 5. powerlevel10k 설치 1. Ubuntu 설치 1-1. 윈도우 키 > "Window 기능 켜기/끄기" 검색 후 실행 > ✅Linux용 Windows 하위시스템 체크on 1-2. Microsoft Store(정품 인증 필요)에서 Ubuntu 다운로드 1-3. Microsoft Store(정품 인증 필요)에서 Windows Terminal다운로드 1-4. Windows Terminal실행 > 설정 > 기본 프로필 "Ubuntu" 설정 wsl에서 cd /.. 2023. 2. 9.