개발노트(150)
-
버블 정렬을 만들어보자
def bubblesort(arr): for i in range(1, len(arr)): for j in range(len(arr) - i): if arr[j] > arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] return arr arr = [3,2,1] print(bubblesort(arr)) i j arr[j] arr[j+1] if문 arr 1 0 3 2 성립 [2,3,1] 1 1 3 1 성립 [2,1,3] 2 0 2 1 성립 [1,2,3] 버블정렬은 배열 요소를 하나씩 쌓아가는게 특징이다. 뒤에서부터 혹은 앞에서부터 쌓인 배열 요소는 정렬이 이루어졌으므로 다음 반복부터 비교에서 제외한다. for문에서 j값이 0부터 len(arr) - i 까지 반복하는 이유이다.
2020.06.25 -
파이썬 정규식 표현
정규식은 주로 유효성 검사를 위해 사용하고 파이썬에서 정규식 사용을 위해 import re 해야한다. # - 하이픈은 from - to 를 나타낸다. # [a-zA-Z]는 알파벳 모두 # [0-9]는 숫자 모두 p = re.compile('[0-9]+') string = ['ct','ㅅ11','123'] for s in string: m = p.search(s) if m: print(f'{s}은 유효성 검사 통과') else: print(f'{s} 유효하지 않은 문자') output>> ct 유효하지 않은 문자 ㅅ11은 유효성 검사 통과 123은 유효성 검사 통과 # 꺽쇠 (^) 문자는 현재 정규식의 부적을 의미 # [^0-9]는 숫자를 제외한 모든 문자를 허용하는 정규식이다. p = re.compile..
2020.06.24 -
REST API
API란? 쉽게 말해서 서버와 클라이언트가 서로 정보(data)를 교환할 수 있도록 하는 것 REST API란? 예를 들자면 구글 맵을 이용하고 싶거나 기상청의 날씨 데이터를 가져올 때 API를 사용하는 것(Open API) 그리고 웹 페이지를 이동 할 때 필요한 정보를 전달하는 것 기본적으로 HTTP동작 방식(서버와 클라이언트 사이의 요청, 응답)을 사용 REST API의 구성요소는 크게 3가지가 있다. Resource(자원) - URI Verb(행위) - HTTP Method Repressentations(표현) - Json, xml 등 위 구성요소의 자원에 URL이 아닌 URI가 쓰여있다. 무엇이 다른 걸까? URL은 자원의 위치 즉, 파일(HTML 문서)의 위치를 의미 URI는 인터넷 상의 자원을..
2020.05.22 -
Flask를 AWS에 Deploy하기
1. Deploy 하기 전 준비 github에 작업한 프로젝트 파일 push AWS회원가입(AWS는 12개월 프리티어를 지원합니다.) 아마존 클라우드 서버 호스팅 | Amazon Web Services AWS Nitro 시스템 AWS Nitro 시스템은 차세대 EC2 인스턴스를 위한 기본 플랫폼으로, 이를 통해 AWS는 더 빠른 속도로 혁신하고, AWS 고객이 부담하는 비용을 추가로 줄이고, 향상된 보안 및 새로운 인스턴스 유형과 같은 추가적인 혜택을 제공할 수 있습니다. aws.amazon.com 2. AWS 인스턴스 생성 EC2 서비스를 이용해서 서버를 구동시킬 예정이기 때문에 서비스 찾기에 EC2를 입력합니다. 인스턴스 시작을 클릭합니다. 원하는 서비스를 선택합니다. 저는 무난하게 우분투 서비스를 ..
2020.04.29 -
BAEKJOON #10989 수 정렬하기 3
이 문제의 저작권은 BAEKJOON에 있습니다. https://www.acmicpc.net/problem/10989 문제는 위 링크에서 확인할 수 있습니다. import sys N = int(input()) arr = [0] * 10001 for i in range(N): a = int(sys.stdin.readline()) arr[a] = arr[a] + 1 arr_size = len(arr) for b in range(arr_size): if arr[b] !=0: for c in range(arr[b]): print(b) 단순한 정렬 방법으로는 통과할 수 없는 문제였습니다. 시간과 메모리 모두 생각해야하는 문제여서 풀이 방법을 찾기 어려웠습니다. 해결 방법은 생각보다 간단합니다. 문제에서 제한하는 범..
2020.04.18 -
BAEKJOON #7576 토마토
이 문제의 저작권은 BAEKJOON에 있습니다. https://www.acmicpc.net/problem/7576 문제는 위 링크에서 확인할 수 있습니다. #토마토 #https://www.acmicpc.net/problem/7576 import sys from collections import deque M, N = map(int, sys.stdin.readline().split()) arr = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] #좌우상하 idx = [-1, 1, 0, 0] idy = [0, 0, 1, -1] get_one = deque() first_cnt = 0 for i in range(N): for j in rang..
2020.04.14