본문 바로가기

개발

(99)
[프로그래머스] 기능 개발_Python 문제 정답 코드 def solution(progresses, speeds): result = [] time = 0 count = 0 while len(progresses) > 0: if(progresses[0] + time * speeds[0]) >= 100: progresses.pop(0) speeds.pop(0) count += 1 else: if count > 0: result.append(count) count = 0 time += 1 result.append(count) return result 내가 처음 틀린 코드 def up_num(a, b): num1 = a / b num2 = a // b if num1 > num2: return num1 + 1 else: return num2 def so..
[HTTP] TCP/IP 프로토콜 이란? IP프로토콜이란? IP(인터넷 프로토콜)의 정의 각 IP 주소를 부여 받은 클라이언트 간에 데이터를 주고 받는 과정을 정의한 것이 IP 프로토콜(인터넷 프로토콜)이다. IP의 역할 - 지정한 IP주소에 데이터 전달 - 패킷이라는 통신 단위로 데이터 전달 + IP 패킷에는 출발지IP, 도착지IP, 기타 등등의 정보가 있다.(또한 패킷의 경우, 특정 바이트 단위로 데이터를 나누게 되는데, 이때 밑에서 설명할 비신뢰성의 문제점이 발생한다. IP프로토콜의 한계 - 비연결성: 패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷을 전송한다. - 비신뢰성: 중간에 패킷이 사라지거나, 패킷이 순서대로 오지 않을 수도 있다. - 프로그램 구분: 같은 IP를 사용하는 클라이언트에 애플리케이션이 두개 이상이라면 구분할 ..
HTTP란? 보호되어 있는 글입니다.
[Spring] Spring MVC 전체 구조 Spring 구조를 보기에 앞서, Servlet에 대한 포스팅을 먼저 참고하면 좋을 것 같다. https://ttungbab.tistory.com/148 (Servlet 관한 포스팅) Spring MVC 전체 구조 Spring MVC는 Dispatcher Servlet을 Front로 두고, 컨트롤러들을 어댑터를 통해 관리한다. + 이 Dispatcher Servlet은 자바 웹 MVC에서 FrontController와 동일한 역할이다. https://github.com/freev5/TeamProject/blob/c57dffea24/src/com/tp/controller/FrontController.java (실제 JSP Servlet으로 FrontController를 구현한 코드이다. 참고해도 괜찮겠다)..
[백준 / Python]LCS_9251 보호되어 있는 글입니다.
[백준 / Python] 욕심쟁이 판다_1937 정답 코드 n = int(input()) data = [] dp = [[0 for _ in range(n)] for _ in range(n)] for _ in range(n): data.append(list(map(int, input().split()))) dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] def dfs(x, y): if dp[x][y]: return dp[x][y] dp[x][y] = 1 for i in range(4): nx, ny = x + dx[i], y + dy[i] if 0
[백준 / Python] 동전 1_2293 n, k = map(int, input().split()) data = [] for _ in range(n): data.append(int(input())) counts = [0 for _ in range(10001)] counts[0] = 1 for coin in data: for price in range(10001): if price >= coin: counts[price] += counts[price-coin] print(counts[k]) 이 문제는 전형적인 DP문제이다. DP에서는 분할정복과 같은 방법으로 문제를 작은 부분문제로 나눠서 풀고, 캐시하여 재사용될 때 활용해 해결하는 것이다. 왜 이전의 counts값을 더하는걸까? -> 가장 작은 단위의 부분 문제로 본다면, counts[price..
[백준 / Python] 차이를 최대로_10819 정답 코드 n = int(input()) check = [False for _ in range(n)] orders = [0 for _ in range(n)] data = list(map(int, input().split())) result = [] def dfs(idx): if idx == n: result.append(cal_solution()) return for i in range(n): if not check[i]: orders[idx] = i check[i] = True dfs(idx + 1) check[i] = False def cal_solution(): sum = 0 for i in range(n - 1): sum += abs(data[orders[i]] - data[orders[i + 1..