전체 글 216

검색 알고리즘 - 이진 검색

이진 검색 알고리즘을 사용하기 위한 조건→ 배열의 데이터가 정렬되어 있어야 한다.이 조건을 만족한다면 이진 검색은 선형 검색보다 빠르게 검색할 수 있다. 따라서 이진 검색은 원소가 오름차순이나 내림차순으로 정렬된 배열에서 좀 더 효율적으로 검색할 수 있는 알고리즘이다. 이진 검색 알고리즘의 작동 원리검색 범위의 맨 앞, 맨 끝, 중앙의 인덱스를 각각 pl, pr, pc라고 칭하고,검색을 시작할 때 pl은 0, pr은 n - 1, pc는 (n - 1) // 2로 초기화한다.(pl은 배열의 맨 앞, pr은 배열의 맨 끝, pc는 배열의 중간의 인덱스를 잡아줘야 하기 때문) 1. a[pc] a[pl]~a[pc]는 key보다 작은 것이 분명하므로 검색 대상에서 제외한다.검색 범위는 중앙 원소 a[pc]보다 뒤쪽..

검색 알고리즘 - 선형 검색

선형 검색의 종료 조건1) 검색할 값을 찾지 못하고 배열의 맨 끝을 지나간 경우 -> 검색 실패2) 검색할 값과 같은 원소를 찾는 경우 -> 검색 성공! 배열 a가 있을 때 검색하는 프로그램은 다음과 같이 나타낼 수 있다.i = 0while True: if i == len(a): # 검색 실패 if a[i] == key: # 검색 성공(찾은 원소의 인덱스는 i) i += 1 선형 검색 알고리즘 코드 1 (while)# while 문으로 작성한 선형 검색 알고리즘from typing import Any, Sequencedef seq_search(a: Sequence, key: Any) -> int: # 시퀀스 a가 있고 key는 아무 자료형, 결과는 int로 반환한다. ..

기본 자료구조와 배열

파이썬에서는 배열을 리스트와 튜플로 구현할 수 있다.리스트- 원소를 변경할 수 있는 뮤터블 list형 객체- 연산자 [ ] 안에 원소를 쉼표(,)로 구분하여 표기하여 생성- 원소 없이 [ ] 만 사용하면 빈 리스트를 생성list01 = [] # [] 빈 리스트list02 = [1, 2, 3] # [1, 2, 3]list03 = ['A', 'B', 'C', ] # ['A', 'B', 'C'] 맨 마지막 원소에 쉼표를 써도 됨list04 = list() # [] 빈 리스트list05 = list('ABC') # ['A', 'B', 'C'] 문자열의 각 문자로부터 원소를 생성l..

REST, RESTful, REST API, REST 특징

RESTREST(Representational State Transfer): 자원을 이름으로 구분하여 상태를 주고 받는 모든 것.REST를 통해1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,2. HTTP Method(POST, GET, PUT, DELETE)를 통해3. 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.REST의 구성 요소1. 자원(Resource): HTTP URI2. 자원에 대한 행위(Verd): HTTP Method3. 자원에 대한 행위의 내용(Representations): HTTP Message Pay Load RESTful: REST API를 제공하는 웹 서비스를 RESTful하다고 할 ..

카테고리 없음 2024.05.17

원티드 백엔드 챌린지 2회차

이 글은 원티드에서 진행한 백엔드 챌린지를 통해 발표자 오시영님의 발표 자료를 토대로 작성되었습니다.로컬 환경에서 Docker 실행자습 문제 실행공식 블로그 : https://www.docker.com/blog/kickstart-your-spring-boot-application-development/github 에서 다운로드 혹은 아래 폴더에서 spring-docker-demo 다운로드https://drive.google.com/drive/u/2/folders/1QlPHZL6a2y6RGYd68OOQbezBXOl0HEVqdocker run -p 8080:8080 -t spring-helloworlddocker run -d -p 8080:8080 -t spring-helloworldlog 확인을 터미널/d..

카테고리 없음 2024.04.08