일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정규식
- 동적 계획법
- 재귀함수
- Re
- KAKAO BLIND RECRUITMENT
- python
- java
- 카카오
- 자바
- 프로그래머스
- Set
- Combinations
- dfs
- backjoon
- 이분탐색
- BFS
- DateTime
- 다익스트라
- 백준
- heapq
- 수학
- Zip
- 파이썬
- 정렬
- programmers
- divmod
- lambda
- 추석맞이 코딩챌린지
- 그리디
- 위클리 챌린지
- Today
- Total
목록자바 (12)
상상쓰
import java.util.*; class CodeRunner{ public static void main(String[] args){ HashMap map = new HashMap(); map.put("sangsangss1", 93); map.put("sangsangss2", 176); map.put("sangsangss3", 73); map.put("sangsangss4", 270); map.put("sangsangss5", 127); List keys = new ArrayList(map.keySet()); // ["sangsangss1", "sangsangss2", ...] Collections.sort(keys, (v1, v2) -> (map.get(v1).compareTo(map.get(v2..
java의 PriorityQueue(우선순위 큐)를 간단히 소개하겠다. python의 heapq랑 같다. 내부가 이진 트리로 이루어져 있다. import java.util.PriorityQueue; import java.util.Collections; class CodeRunner{ public static void main(String[] args){ PriorityQueue ascQueue = new PriorityQueue(); PriorityQueue descQueue = new PriorityQueue(Collections.reverseOrder()); for (int i=0;i
@ReqeustMapping(value = "/Contents/{id}.do") public String getPage(@PathVariable String id, HttpServletReqeust request, ModelMap model) throws Exception { System.out.println(id); // https://localhost/Contents/01.do > id = "01" return "page/01"; } @ReqeustMapping(value = "/Contents{id}.do") public String getPage(@PathVariable String id, HttpServletReqeust request, ModelMap model) throws Exception..
https://programmers.co.kr/learn/courses/30/lessons/49995?language=java 코딩테스트 연습 - 쿠키 구입 과자를 바구니 단위로 파는 가게가 있습니다. 이 가게는 1번부터 N번까지 차례로 번호가 붙은 바구니 N개가 일렬로 나열해 놨습니다. 철수는 두 아들에게 줄 과자를 사려합니다. 첫째 아들에게는 programmers.co.kr 기준점 m 을 잡고 i 는 왼쪽으로, r 은 오른쪽으로 이동하면서 합한 과자의 수를 비교하였다. cookie = {1, 1, 2, 3} 을 예로 들 때, m 은 둘째 아들에게 줄 수 있는 바구니 중 가장 작은 번호로 기준을 잡았기 때문에 1번부터 시작한다. fir = cookie[m - 1], sec = cookie[m] 으로 시..
https://programmers.co.kr/learn/courses/30/lessons/72416 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr DFS 와 동적 계획법을 이용하여 풀 수 있을 거라고는 생각했는데 dp 배열을 구현하기가 어려워서 다른 블로그를 참고하여 풀어나갔다. dp[i][0] : i 가 참석하지 않았을 때의 최솟값, dp[i][1] : i 가 참석했을 때 최솟값으로 정의하고, 기본값으로 dp[i][1] = sales[i-1], dp[i][0] = 0 으로 시작한다. 리프 노드부..
https://programmers.co.kr/learn/courses/30/lessons/82612?language=java 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 등차수열의 합 공식 (첫째 항 + 마지막 항) * 항의 개수 / 2 class Solution { public long solution(long price, long money, long count) { return Math.max(0, (price + (price * count)) * count / 2 - money); } }
https://programmers.co.kr/learn/courses/30/lessons/12929 코딩테스트 연습 - 올바른 괄호의 갯수 올바른 괄호란 (())나 ()와 같이 올바르게 모두 닫힌 괄호를 의미합니다. )(나 ())() 와 같은 괄호는 올바르지 않은 괄호가 됩니다. 괄호 쌍의 개수 n이 주어질 때, n개의 괄호 쌍으로 만들 수 있는 모 programmers.co.kr 카탈란 수로 점화식에 기반하여 동적 계획 알고리즘으로 풀었다. C0 = 1 Cn+1 = C0*Cn + C1*Cn-1 + C2*Cn-2 + ... + Cn*C0 answer = Cn class Solution { public int solution(int n) { int answer = 0; int[] dp = new int[..
https://programmers.co.kr/learn/courses/30/lessons/42579?language=java 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 정렬을 통하여 문제를 해결하였다. playsIndex 는 [재생 횟수, 고유번호] 로 이루어진 2차원 배열이다. palysIndex 를 재생 횟수를 기준으로 내림차순, 고유번호를 기준으로 오름차순 하여 map2 에 값을 넣을 때, 같은 고유번호라도 우선순위가 조건에 맞도록 하기 위해서다. map 은 어떤 genre 가 재생 횟수가 가장..
https://programmers.co.kr/learn/courses/30/lessons/42842?language=java 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 분류는 탐색인데 수학으로 접근이 돼서 연립방정식으로 풀었다. 카펫의 가로의 길이를 n, 세로의 길이를 m 이라 하자. 그러면 1) n + m = n * m (brown + yellow) - ((n-2) * (m-2) (yellow)) / 2 + 2 로 나타낼 수 있다. 2) n * m 은 brown + yellow 로 1) 과 2) ..
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr PriorityQueue 를 이용하여 중요도가 높은 순으로 인쇄(poll) 해준다. 대기목록에 우선순위가 가장 큰 값을 아래와 같이 for 를 통하여 차례대로 비교하면 중요도가 같은 문서에 대해서도 조건에 알맞게 답을 구할 수 있다. import java.util.*; class Solution { public int solution(int[] priorities,..