전체 글 82

REST API에 대해

목차 REST REST API HTTP 메서드 (PUT VS. PATCH) REST 리소스(웹 페이지나 파일 등)를 URI로 나타내고 HTTP메서드를 이용해 연산(CRUD)을 수행하고 리소스의 상태를 주고받는것 HTTP기반이라 별도 인프라 필요 ❌ 동작이 한정적 REST API REST를 기반으로 한 인터페이스 HTTP 메서드 POST: 생성 GET: 조회 PUT: 갱신 DELETE: 삭제 ※ GET, PUT, DELETE는 여러번 호출해도 결과가 같은 반면(멱등성O), POST는 매 호출마다 새로운 데이터가 추가된다(멱등성X). PUT vs.PATCH PUT 데이터를 일부만 전달할 경우, 나머지는 NULL이나 DEFAULT값으로 처리됨 해당 리소스를 완전히 교체 PATCH 새롭게 바뀐 부분만 반영되고,..

[Codility] 6. Sorting

6.1 Distinct Write a function that, given an array A consisting of N integers, returns the number of distinct values in array A. N개의 정수로 구성된 배열 A가 주어지면 배열 A의 고유한 값의 수를 반환하는 함수를 작성합니다. def solution(A): if len(A) == 0: return 0 A.sort() cnt = 1 for i in range(1, len(A)): if A[i] != A[i-1]: cnt+=1 return cnt 6.2 MaxProductOfThree A non-empty array A consisting of N integers is given. The product of..

[Codility] 1. Iteration

1.1 BinaryGap A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. Write a function that, given a positive integer N, returns the length of its longest binary gap. The function should return 0 if N doesn't contain a binary gap. 양의 정수 N 내의 이진 갭은 N의 이진 표현에서 양쪽 끝에 하나로 둘러싸인 연속적인 0의 최대 시퀀스입니다. ..

다익스트라 Dijkstra

import sys INF = sys.maxsize # 노드의 개수, 간선 갯수, 시작 정점 n, m, s = map(int, input().split()) g = [None] * n # 각 노드에 연결되어 있는 노드에 대한 정보를 담는 리스트 visited = [False] * n D = [INF] * n # 최단 거리 테이블을 모두 무한으로 초기화 D[s] = 0 previous = [None] * n # 최단경로 기록을 위한 list previous[s] = s # 시작정점의 경로 초기화 # 모든 간선 정보를 입력받기 (0~n-1입력입니다. 1~n 입력이면 테이블들 n+1로 초기화했었어야함) for _ in range(m): a, b, c = map(int, input().split()) # a번 ..

BFS

목차 - 인접리스트 - 인접행렬 인접리스트 n,m,s=map(int,input().split()) #n-노드갯수, m-입력갯수, s-시작정점 adj_list=[[] for _ in range(n+1)] for _ in range(m): a,b=map(int,input().split()) adj_list[a].append(b) adj_list[b].append(a) ########################################################## visited=[None]*(n+1) def bfs(i): queue=[] visited[i]=True queue.append(i) while len(queue)!=0: v=queue.pop(0) print(v) for w in adj_li..