본문 바로가기

전체 글

(131)
[프로그래머스] 기능 개발_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를 사용하는 클라이언트에 애플리케이션이 두개 이상이라면 구분할 ..
[ 백준/Python ] 나무자르기_2805 문제 정답 코드 result_data = 0 def cal(data, high): result = 0 for i in data: if i - high > 0: result += (i - high) return result def binary_search(start, end, data, m): global result_data if start > end: return mid = (start + end) // 2 result = cal(data, mid) if result >= m: result_data = mid binary_search(mid + 1, end, data, m) else: binary_search(start, mid - 1, data, m) def solved(): n, m = map(in..
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] 쉬운 계단 수_10844 생각 최근 DP와 관련해서 고민이 많았었다. DP의 개념은 동적 프로그래밍이다. 그냥 간략하게 적자면 한번 계산한 연산을 다시 하지 않도록 테이블에 저장한 후 활용하는 것이다. 하지만 요새 문제를 접할 때 마다, 내가 DP 개념을 활용하는건지, 아니면 그냥 풀었던 문제와 비슷한 방식을 대입해서 푸는건지 헷갈렸었다. 다시 한번 명심해야 할 것은 절대 생각없이 대입해서 풀면 안된다는 점이다. 이 개념들이 왜 탄생했는지 생각하고, 이 문제에 해당 개념이 왜 쓰이는지를 인지해야한다. 위의 백준 문제는 DP의 개념을 다시 한번 집어볼 수 있어서 좋았다. 문제 접근 방식 처음에는 완전탐색으로 생각을 하다가 DP를 떠올렸다면 괜찮은 접근 방식이였을 것 같다. DP는 이전의 구했던 값을 다시 활용하는 것이고, 이는 정..