본문 바로가기

전체 글

(69)
REST ful API 란? 정의 컴퓨터 프로그램들이 인터넷을 통해 정보를 주고받을 때 사용하는 표현 방식 HTTP라는 프로토콜을 이용, Web(웹)에서 제공하는 모든 자원들을 하나하나 가리킬 수 있는 고유한 주소(URI)를 이용해서 HTTP Method를 통해 작업(CRUD)을 처리하는 방식 @GetMethod("/article/{num}") public ResponseEntity searchArticle(@RequestParam("num") Integer num){ } 예를들어, 스프링부트에서 이런 식으로 게시글번호를 통해 get방식으로 게시글을 조회하는 함수가 바로 restful하게 작성된 api라고 할 수 있다. 구성요소 자원(Resource) 모든 자원은 서버에 고유한 ID가 존재하며 URL형식으로 구별됨 클라이언트는 UR..
[Python] combinations 사용해서 경우의 수 구하기 n 개중 r개를 뽑는 경우의 수를 구해야 할 때, itertoos 모듈의 combinations 기능을 이용하면 간단하게 구현할 수 있다! from itertools import combinations 일단 요거 import 하고, 삼겹살 먹고싶으니까 같이 먹을 재료들을 담은 리스트 test를 만들고, 자취생이라 여유가 없으니 4개 정도만 골라서 먹는다고 해보자. test = ["마늘","쌈장","와사비","깻잎","상추","소금","쌈무"] com = list(combinations(test,4)) for i in com: print(i) combinations를 사용해 test 중 4개를 조합한 경우의 수를 리스트 com에 담고 하나씩 출력하면 출력결과 ('마늘', '쌈장', '와사비', '깻잎') ..
시간 복잡도란 대체 무엇인가 요즘 코딩테스트 공부를 하면서 종종 보는 단어인데 낯설어서 무슨 뜻인지 찾아봤다 요약하자면, 시간복잡도란 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미하는데 비슷한 개념으로 특정 알고리즘이 메모리를 얼마나 차지하는지에 관련된 공간복잡도라는 것도 있다. 하지만 예전에 비해 컴퓨터 성능의 발달로 메모리 공간의 효율이 많이 증가했기 때문에 상대적으로 공간복잡도보다는 시간복잡도의 중요성을 더 우선하여 프로그램을 작성한다. 코테문제에서 시간 제한 -초, 메모리 제한 -mb 등으로 표기된 제한조건이 이와 관련된 것으로, 보통 시간 복잡도에서는 빅-오 표기법 을 사용한다. 빅-오 표기법 - 알고리즘의 최악의 경우 시간 복잡도를 나타내며, 알고리즘의 성능 상한선을 표현 - 알고리즘의 실행 시간을 입력 크기..
[dfs/bfs]특정 거리의 도시 찾기 문제요약 1~N번까지의 도시와 M개의 단방향 도로가 존재 모든 도로의 거리는 1 특정 도시 X에서 출발하여 도달할 수 있는 모든 도시 중 최단 거리가 K인 모든 도시의 번호를 출력하라 (없으면 -1 출력) 입출력 예시 4 4 2 1 1 2 1 3 2 3 2 4 4 정답 from collections import deque # ======== [ 1 ] ========== n,m,k,x = map(int,input().split()) graph = [[] for _ in range(n+1)] for _ in range(m): a,b = map(int,input().split()) graph[a].append(b) # ======== [ 2 ] ========== # Q1. -1로 초기화 하는 이유 and ..
npm install 할 때 --save의 의미는? ex) npm install react-router-dom --save → package.json의 dependency에 모듈을 추가한다는 의미 보통 프로젝트 폴더를 공유하거나다른 컴퓨터에서 작업을 하려고 옮길 때 node_modules 폴더는 용량이 매우 매우 크기 때문에 함께 옮길 수 없다. (시간이 많이 들기 때문에 굉장히 비효율적임) 그래서 --save를 통해 모듈을 설치할 때 package.json 이라는 폴더의 dependency 항목에 모듈의 이름과 버전을 기록해놓고 나중에 옮긴 프로젝트 폴더에서 이 dependency를 보고 npm이 모듈들을 다시 다운로드 해줌 (--save로 설치하지 않은 모듈은 다시 추가되지 않음) 하지만 npm5 버전 이후부터는 자동으로 package.json에 기록..