프로그래밍 공부 (16) 썸네일형 리스트형 정렬에 관한 정리-2 https://pro-gramm-ing.tistory.com/488 정렬에 관한 정리 - 1 개인적으로 정렬은 코테에서 혹은 개발을 할때 자주 쓰인다고 생각되어서 정렬에 대해 공부를 해두고 싶었다. 그래서 이 기회에 리트코드에 있는 정렬에 대한 글을 보고 정리를 해봤다. 1.정렬 pro-gramm-ing.tistory.com 앞서 비교 기반 정렬을 살펴 보았다. 이번에는 비비교 기반 정렬을 알아보고자 한다. 직관적이거나 만들기 쉽지는 않지만 비교적 실행속도가 빠르고 효율적이다. 비비교 기반 정렬 1. 계산 정렬(Counting Sort) 이 정렬방식은 값을 인덱스와 매핑을 다시 시킨 후 정렬을 하는 방식이다. 계산 정렬은 다음과 같은 상황에서 사용이 가능하다. - 1.배열에 중복적인 요소들이 있는경우 e.. 정렬에 관한 정리 - 1 개인적으로 정렬은 코테에서 혹은 개발을 할때 자주 쓰인다고 생각되어서 정렬에 대해 공부를 해두고 싶었다. 그래서 이 기회에 리트코드에 있는 정렬에 대한 글을 보고 정리를 해봤다. 1.정렬의 핵심원리는 무엇일까 정렬의 문제는 어떻게 집합에 있는 아이템들을 순서대로 놓을지이다. 어떤 순서대로 놓을지는 전적으로 비교방법에 따라 달라진다. 정렬의 기초는 각각의 아이템중 공통된 특성들끼리 묶어 재배열하는 것이다. 컴퓨터 공학에서는 순서에 관한 형식이 있다. 그 형식은 다음과 같다. 전제: 만약 아이템이 a 와 b 가 주어졌다면(Law of trichotomy(=삼분법칙)) 1. 아래의 연산 중 하나는 참이어야 한다. a > b | a = b | a < b 2. 그리고 다음과 같은 식이 성립되어야 한다. (tran.. 깃 허브 연습하기 --3. 브랜치 1. 브랜치를 생성하자 >git branch 로 브랜치 정보를 확인해보자 현재 작업 브랜치는 * 표시가 있다. >git branch 새로 생성할 브랜치 이름 으로 새 브랜치를 생성해보자 > git branch apple git log 를 해보면 HEAD 가 가리키고 있는 브랜치가 두개인것을 확인 할 수가 있다. 한번 마스터 브랜치에서 파일을 수정 하고 커밋을 해보자 그러면 HEAD는 마스터를 가리키지만 다른 브랜치는 아래에 있는 것을 볼 수 있다. >git log --oneline 으로 커밋을 간략하게 봐 보자 2. 작업 브랜치를 바꿔 보자 >git checkout 바꿀 브랜치 이름 그럼 작업하는 CLI 에 master 가 아닌 브랜치 이름을 확인 할 수 있다. 그럼 1 에서 마지막쯤에 바꿨던 수정한 파.. 깃허브 연습하기 2 --좀 더 세부적인 사항 1.git bash 를 사용하자 처음에 git bash 에서 ~ 표시를 볼 수 있는데, 그건 홈디렉토리를 뜻하는 것이다. ../ 로 상위 디렉토리로 이동해보면 현재 디렉토리가 표시된다. -1. git add 상태에서 unstage 해보자 git rm --cached 파일이름 해보고 git status 를 하면 unstage 된다. 혹은 git reset HEAD 파일이름 으로 unstage 할 수 있다. -2. git log 로 작업 내역을 확인해보자 커밋을 하고 git log로 확인해보자 commit 실행시의 해시코드 , 작성자, commit 날짜 , commit시의 메세지를 볼 수 있다. --1. git log stat 작업 내역의 통계를 보여준다. -3. add 명령과 commit 명령을 한번에 실.. 리눅스 연습하기 --7.네트워크 관리 , 다운로드 , 파일시스템 1.다운로드 1-1. wget 웹상에서 받아올때이다. 1-2. yum 패키지 매니저이다. a>list 다운 가능한 리스트를 가지고 온다. 예시로 자바를 받고자 할 때 다운 가능한 리스트 불러오기 yum list java*jdk-devel 1-3.rpm Redhat Package Manager 이다. 2.네트워크 관리 2-1. ping [옵션] 호스트 네트워크가 현재 동작 중인지 확인 ctrl + c 로 핑 받는 것을 그만 확인 할 수 있다. a> -s : 패킷 사이즈 지정(=Size) b> -q : 종합 결과만 보여준다. c> -i : 지연시간 설정 d> -c : 보낼 패킷 수를 지정한다. 2-2. nslookup [도메인] 도메인 네임서버에 질의를 할 수 있는 명령어이다. 도메인 이름의 호스트 ip를 .. 리눅스 연습하기 --6.vi 편집기 1.vi 편집기 (=VIsual editor) 명령모드 / 편집모드 / ex모드가 있다. 편집모드로 가려면 i , o , a 키를 누르면 된다. i 는 Insert 커서 앞에 삽입을 한다. I 는 현재 줄 첫 칸앞에 삽입을 한다. a 는 Append 커서 뒤에 삽입을 한다. A는 현재 줄 끝에 삽입을 한다. o 는 개행을 하고 입력을 할 수 있다. ex모드는 ? / : / / 등이 있다. ?는 문자열을 검색하는 것이다. / 역시 문자열을 검색한다. : 는 vi 제어에 사용된다. 2. 저장 :w 현재의 파일명으로 파일 저장 :w 파일명 지정한 파일명으로 파일을 저장한다. 3.종료 :q 작업 내용을 저장하였으면 종료 :q! 작업 내용을 저장하지 않고 종료 :wq 저장하고 종료 wq 파일명 파일명으로 저장하고.. 리눅스 연습하기 --5. GUI 설정 , 디렉토리 관리와 파일 1.GNU 와 GNOME GNOME = GNU Network Object Model Environment 2.gui 설치 a. os 버전 확인 cat /etc/os-release b. gui 패키지 설치 yum groupinstall "GNOME Desktop" "Graphical Administration Tools" c. gui로 실행 하기 위한 설정 ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target d.reboot 로 다시시작(그냥 다시시작 하면 된다.) 3.디렉토리 관리 3-1. pwd 현재 위치한 디렉토리의 절대경오를 출력한다. (= Printing Working Directory) 3-2.ls 현재 디렉.. 리눅스 연습하기 --4. 쉘과 프롬프트 터미널 접속후에 나오는 커맨드 [ 접속계정@호스트이름 ~] $ ~ (=홈 디렉토리) $ (=프롬프트) 이전 1 2 다음