본문 바로가기

분류 전체보기

(201)
Restful API 설계 방법 HTTP API 설계 방법HTTP API는 설계시 항상 리소스 식별을 기준URI에 들어갈 리소스는 복수 형태 board → boardsURL에 동사를 사용하지 않는다.HTTP Method의 역할을 URL에 포함하지 않는다.Restful API : REST 기반으로 서비스 API를 구현한 것REST : URI를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE,PATCH 등)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것 구현 규칙리소스는 명사를 사용복수 형태를 사용만약, REST만으로 해결하기 어려운 경우라면 동사를 허용자원의 계층 관계를 슬래시(/)로 표현마지막 문자에는 슬래시(/)가 있으면 안된다.하이픈(-)을 사용소문자URI에..
2606 바이러스 / DFS,BFS 접근 방법1. 먼저 연결 정보를 입력 받기n = int(input())m = int(input())# 1. 연결 정보에 대해 입력 받기con = []for _ in range(m): a, b = map(int, input().split()) con.append((a, b))# con = [[1, 2], [2, 3], [3, 5] ....] 2. 방문 여부를 확인하는 리스트 생성visited = [False] * (n+1) 3. 연결 정보 -> 그래프로 표현 (양방향 연결)graph = {} for i in range(1, n+1): graph[i] = [] # 결과 : {1: [], 2: [], 3: [], 4: [], 5: []} for a, b in con: ..
파이썬 알고리즘 연습(3) 삼총사def solution(number): answer = 0 for i in range(0, len(number)): for j in range(i+1, len(number)): for k in range(j+1, len(number)): if number[i] + number[j] + number[k] == 0: answer += 1 return answer 크기가 작은 부분 문자열첫 번째 시도 -> 하지만 테스트 케이스에서 시간 초과 및 빈 객체에 pop했다는 에러 뜸len(deq) >= len(p) 이  조건 또한 빼먹음import collectionsdef solution(t, p): ..
키오스크에 장바구니 및 구매하기 기능 추가하기 (+반성의 글..) 결론부터 말하자면 이번 과제는 많이 부족했던 것 같다🙈하지만 어쩌겠는가,,, 이미 시간은 지났고 되돌릴 수 없다지금부터 고민했던 점들에 대해서 정리해보도록 하고 다음 프로젝트는 이번 문제점을 고쳐서 발전시키는 방향으로 가자😳😳😳 고민점장바구니 기능을 클래스로 빼는게 맞는지에 대한 고민장바구니기능이 없는 lv5만 구현했을 때까지만 하더라도 Kiosk 클래스는 사용자의 주문에 대한 입출력에 대해서 기능적인 부담이 크지 않다고 생각하지만, 장바구니 요구사항을 보니 내용이 꽤 많았음.. (추가 삭제 조회 등등, + 예외 처리)그렇기 때문에 이 모든 요구사항을 Kiosk에 넣어버리면 코드도 엄청 무거워지고 알아보기가 너무 힘들 것 같다고 생각-> 장바구니와 관련된 역할은 Cart 클래스에서 하기로 결정!p..
5430 AC / 큐 핵심덱을 R이 나올 때마다 뒤집으면 시간 초과가 뜸 -> 길이(N)만큼 걸리기 때문뒤집힌 상태인지 확인하는 변수를 만들어서 체크하면서 해결해야 함길이가 0인 리스트가 들어오면 덱을 초기화 시켜줘야 함문자열 다루기arr = input()[1:-1].split(',') : 입력받은 문자열에서 양옆제외하고 읽어온 후 ,을 기준으로 분리해서 값들을 배열로 저장deq = collections.deque(arr) : 배열 통째로 덱에 추가result = "[" + ",".join(map(str, deq)) + "]" , 을 사용하여 원소사이를 붙여줌import collectionst = int(input())ans = []for _ in range(t): ac = input() n = int(input(..
10866 덱 / 큐 import collectionsclass Deq: def __init__(self): self.deque = collections.deque() def push_front(self, value): self.deque.appendleft(value) def push_back(self, value): self.deque.append(value) def pop_front(self): if len(self.deque) == 0: return -1 return self.deque.popleft() def pop_back(self): if len(self.deque) == 0: ..
키오스크 만들기 : 음식 메뉴와 카테고리를 클래스로 관리하기 고민했던 점1. Kiosk의 start()메서드의 복잡함Kiosk에서 사용자의 입력에 따라서 출력을 보여주는 start()메서드의 로직이 너무 길고 복잡해보여서 개발을 진행하면서도 너무 복잡하고 알아보기가 쉽지 않았음카테고리를 출력하는 부분과, 메뉴를 출력하는 부분을 각각 showCategories(), showMainMenes(Menu menu) 메서드로 분리하여 해결private void showCategories() { System.out.println("[ MAIN MENU ]"); for (int i = 0; i   2. 사용자로부터 적절한 값을 검증하는 부분에 대한 고민화면에 출력되는 부분에서 보여지는 숫자값만을 입력해서 검증하는 부분에서 이를 어떤 식으로 할 지 고민..
1966 프린터 큐 / 큐 배운 내용효율적으로 값 넣는 방법 -> 1 2 3 4 6 8 입력시data = list(map(int, input().split()))출처: https://thisismi.tistory.com/entry/백준-1966번-프린터-큐-파이썬-정답-코드 [This is Mi:티스토리]덱 안에 해당 숫자가 있는지 확인하는 방법 -> 값 in 덱덱에서 가장 앞에 있는 수 조회 -> 덱[0] / 가장 뒤에 있는 수 조회 -> 덱[-1] 접근 방식순서를 기록해야 하기 때문에, 순서 기록용 덱을 하나 더 생성해서 중요도를 담은 덱과 함께 추가와 제외를 함  정답import collectionsn_count = int(input())ans = []for _ in range(n_count): deque = colle..