Home

POJO(Plain Old Java Object)란? 개념 정리

POJO(Plain Old Java Object)란? POJO(Plain Old Java Object)이라는 용어를 단순히 풀어서 설명하면 오래된 방식의 단순 자바 객체입니다. 조금 더 디테일한 의미는 특별한 환경(클래스나 인터페이스 등)에 종속되지 않는 일반적인 Java 객체를 의미합니다.

Read more

캐시 서버(Cache Server)란? 개념 정리

캐시 서버(Cache Server)는 인터넷 서비스 속도를 높이기 위해 사용자와 가까운 곳에 데이터를 임시 저장하여 빠르게 제공해주는 프록시 서버를 의미합니다. 이미지나 동영상과 같은 무거운 데이터들은 반복적으로 사용되면서 변경되기 어려운 경우가 많습니다. 이러한 데이터들을 캐시서버에 넣어 놓으면 사용자들이 빠르게 데이터를 받아 볼 수 있습니다. 예를 들어 생각해보겠습니다. 만약 제가 사용하는 유투브 서비스의 서버가 한국내가 아닌 외국에 있는 경우, 외국과의 통신에 필요한 시간은 국내 서버보다 매우 오래 걸립니다. 이 경우 국내에 캐시 서버를 설치하여 데이터를 빠르게 전달하여 서비스 속도를 원활하게 제공할 수 있...

Read more

[프로그래머스] N개의 최소공배수 _ 문제 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12953 2. 풀이 from functools import reduce # 최대공약수 def gcd(a, b): while b > 0: a, b = b, a % b return a # 최소공배수 def lcm(a, b): return a * b / gcd(a, b) def solution(arr): return reduce(lambda a,b: lcm(a,b) , arr)

Read more

[프로그래머스] 최고의 집합 _ 문제 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12938 2. 풀이 숫자의 곱이 가장 크게 하기 위해서는 값들이 균등한 값을 가져야 합니다. s를 n으로 나눈 몫을 모든 수에 할당해주고, 나머지를 1씩 분배해주면 정답을 구할 수 있습니다. def solution(n, s): if s < n: return [-1] answer = [s//n] * n for i in range(s%n): answer[i] += 1 return sorted(answer)

Read more

[프로그래머스] 줄 서는 방법 _ 문제 풀이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12936 2. 풀이 2.1. 시간 초과 풀이 20 이하의 자연수가 문제의 조건입니다. $ 20! $ 의 경우 $ {2.432902008}^{18} $ 입니다. 아래와 같은 풀이 방식으로 접근하면 경우의 수가 너무 커서 시간 초과가 발생합니다. from itertools import permutations def solution(n, k): a = [x for x in range(1, n+1)] return list(permutations(a, n))[k-1] 2.2. 정답 풀이 각 라...

Read more

[프로그래머스] 2021 KAKAO BLIND RECRUITMENT _ 메뉴 리뉴얼

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/70129 2. 풀이 자세한 풀이는 주석을 통해 설명을 도왔습니다. 2.1. 정답 풀이 from itertools import combinations def solution(orders, course): answer = [] for ln in course: # 코스 요리 개수 dict = {} # 코스 요리 구성을 세기 위한 dictionary for x in orders: # 각 주문들에 대하여...

Read more