일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs
- Zip
- Combinations
- 수학
- divmod
- backjoon
- 파이썬
- 그리디
- 정규식
- lambda
- Set
- 추석맞이 코딩챌린지
- 동적 계획법
- 프로그래머스
- 카카오
- 백준
- python
- 다익스트라
- Re
- heapq
- 이분탐색
- java
- 재귀함수
- DateTime
- KAKAO BLIND RECRUITMENT
- programmers
- 정렬
- 자바
- BFS
- 위클리 챌린지
- Today
- Total
목록분류 전체보기 (202)
상상쓰
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
https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 굿밤! def solution(a, b): return sum(list(map(lambda x : x[0] * x[1], zip(a, b)))) print(solution([1, 2, 3, 4], [-3, -1, 0, 2])) # 3
https://programmers.co.kr/learn/courses/30/lessons/87391 코딩테스트 연습 - 공 이동 시뮬레이션 n행 m열의 격자가 있습니다. 격자의 각 행은 0, 1, ..., n-1번의 번호, 그리고 각 열은 0, 1, ..., m-1번의 번호가 순서대로 매겨져 있습니다. 당신은 이 격자에 공을 하나 두고, 그 공에 다음과 같은 쿼리 programmers.co.kr 처음에는 BFS로 접근하려고 했으나 범위를 보고 다르게 생각하였다. 이분 탐색인가 했으나 방법이 떠오르지 않았고 답이 사각형 모양으로 나와 범위를 기억하는 것으로 접근하였다. 범위를 top, left, right, bottom 으로 변수를 받아 기억하였고 구하면 해당 좌표를 가진 사각형의 넓이를 구하면 된다. ..
https://programmers.co.kr/learn/courses/30/lessons/87694 코딩테스트 연습 - 11주차 [[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] 1 3 7 8 17 [[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] 9 7 6 1 11 [[2,2,5,5],[1,3,6,4],[3,1,4,6]] 1 4 6 3 10 programmers.co.kr 1) 테두리 좌표 기억하기 2) BFS 알고리즘 사용 으로 접근하였다. 테두리 좌표는 직사각형의 테두리와 내부를 board[][] = 1로 만든 다음, 내부를 board[][] = 0으로 바꿔준다. 어떤 직사각형에서 테두리가 다른 직사각형의 내부라면 board[][] = 0 으로 처..
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net union-find 알고리즘을 사용하여 분리 집합을 표현하였다. 예를 들어, {1, 2, 3}, {4, 5} 인 집합에서 '0 3 5' 의 입력을 받으면 root[1] = 5, root[2] = 5, root[3] = 5, root[4] = 5, root[5] = 5로 하여 root[i] = 5가 나오는 i는 같은 집합의 원소라고 할 수 있다. 5가 아닌 ..
https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr [1, 2, 3, 4, ...] [2, 2, 3, 4, ...] [3, 3, 3, 4, ...] [4, 4, 4, 4, ...] . . . 로 진행하는 배열로 규칙을 찾아서 구해주면 된다. 위치를 i 라고 한다면 i 를 n 으로 나누면 i 에 해당하는 행과 열을 구할 수 있다. 위의 규칙으로 봤을 때 해..
https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 각 층의 방의 개수가 같으므로 W 는 무시해도 된다. divmod 를 이용하여 몫과 나머지로 방 번호를 구할 수 있다. 나머지가 0이 될 때만 주의해주면 된다. import sys T = int(sys.stdin.readline()) for i in range(T): H, W, N = map(int, sys.stdin.readline().split()) q, r = divmod(N, ..
https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 10주차 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 문제에 참고 사항에 친절하게 해를 구하는 공식이 나타나 있다. 이를 활용하여 해가 정수인 ..
https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 나는 몇 번의 과정을 거쳐서 64cm의 막대기가 Xcm가 됐는지를 구하는 줄 알았는데 막대기의 개수를 구하면 되는 문제였다. 이진수로 나타내어 1의 개수를 구하면 된다. import sys X = int(sys.stdin.readline()) answer = bin(X).count('1') print(answer)