분류 전체보기 216

[알고리즘] 단순 선택 정렬

선택 정렬이란?- 가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘- 원솟값을 비교하는 횟수: (n² - n) / 2번- 시간복잡도 측면에서 퀵 정렬과 같은 다른 정렬방법이나 파이썬 내장 라이브러리를 사용한 정렬 방법보다 비효율적 선택 정렬의 수행 과정1. 선택 정렬은 첫 번째 원소를 두 번째 원소부터 마지막 원소까지 차례대로 비교하여 가장 작은 원소를 찾아 첫 번째에 놓음2. 두 번째 원소를 세 번째 원소부터 마지막 원소까지와 차례대로 비교, 가장 작은 값을 찾아 두 번째 위치에 놓는 과정을 반복선택 정렬은 위와 같은 과정으로 수행된다.다시 한 번 간단히 정리하면, 선택 정렬은 아직 정렬하지 않은 범위에서 값이 가장 작은 원소를 선택, 아직 정렬하지 않은 부분의 맨 앞 ..

[알고리즘] 셰이커 정렬, 파이썬 내장 함수

셰이커 정렬이란? 버블 정렬을 개선한 알고리즘으로, 양방향 버블 정렬, 칵테일 정렬, 칵테일 셰이커 정렬이라고도 부른다. 지난 글(https://vibeee.tistory.com/29)에서 버블 정렬로 3가지 코드를 살펴보았다.하지만 가장 큰 값이 맨 앞에 있는 경우 3가지 코드 모두 비효율적인 정렬 과정을 수행하는 것을 알 수 있었다. 다음 코드에서는 이 부분을 셰이커 정렬로 개선한 코드를 살펴본다.from typing import MutableSequencedef shaker_sort(a: MutableSequence) -> None: left = 0 right = len(a) - 1 last = right while left a[j]: # 앞의 값이 뒤보다 큰 경우에 교환 ..

[기타] AWS Ubuntu 22.04 LTS 인스턴스 생성하기 + 탄력적 IP 주소 할당 + SSH 접속

익숙하지 않은 AWS 홈페이지에서 프리티어를 통해 무료로 Ubuntu 서버를 생성해보자. 1. 아래 링크를 클릭하여 AWS 공식 사이트로 접속한다. http://aws.amazon.com 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정 aws.amazon.com 그럼 위와 같은 사이트가 나타나는데 우측 상단에 [콘솔에 로그인] 버튼을 클릭하여 로그인을 해준다(물론 아이디가 없으면 회원가입부터). 로그인을 하게 되면 위와 같은 페이지가 뜬다. 좌측 상단의 [서비스] 버튼 클릭 여..

기타 2022.05.18

[기타] Thunderbird 에서 S/MIME을 이용해 메일에 디지털 서명, 암호화 하기

이메일을 암호화 해야 하는 이유 - 이메일을 암호화하지 않을 경우 네트워크의 다른 사용자가 이메일 로그인 인증 정보나 송수신하는 메시지를 손쉽게 가로챌 수 있음 - 위와 같은 경우는 일반적으로 공용 네트워크(공용 와이파이 또는 핫스팟)를 사용할 때 발생하지만, 회사 또는 사설 네트워크에서도 일어날 수 있음 - 우리가 주고받는 이메일 메시지는 이메일 제공업체의 서버를 떠나서 인터넷을 통해 이동하게 되는데 이때가 가장 취약한 상태이다. - 이 과정에서 이메일을 보내기 전에 디지털 서명 및 암호화를 해서 보내게 된다면 이메일의 메시지가 전송 도중 변경되지 않았음을 뜻하게 되고, 지정된 수신자가 열어보는 시점까지 메시지는 읽을 수 없는 상태가 되어 기밀성이 유지된다. 전자 메일 암호화와 디지털 서명의 중요성: ..

기타 2022.05.18

[알고리즘] 버블 정렬

버블 정렬이란?- 이웃한 두 원소의 대소 관계를 비교하고, 교환을 반복하는 알고리즘(=단순 교환 정렬)- 액체 속의 공기 방울이 가벼워서 위로 보글보글 올라오는 모습에 착안해서 붙인 이름 오름차순 정렬하는 버블 정렬의 첫 번째 패스 진행 과정은 다음과 같다.1) 오른쪽 끝에 있는 두 원소 9와 8에 주목한다.2) 9와 8의 위치를 교환한다.3) 다음 원소인 1과 8에 주목한다.4) 1과 8의 위치는 교환하지 않는다. 원소 수가 n인 배열에서 n - 1번 비교 & 교환을 하면 가장 작은 원소인 1이 맨 앞으로 이동한다. 이러한 과정을 패스라고 한다. 위와 같이 패스를 한 번 수행할 때마다 정렬할 대상은 1개씩 줄어든다. 그러므로 두 번째 패스의 비교 횟수는 첫 번째 패스보다 1번 적은 n - 2번이다. 패..