일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backjoon
- programmers
- lambda
- Re
- 재귀함수
- divmod
- BFS
- 이분탐색
- 백준
- 동적 계획법
- python
- 위클리 챌린지
- heapq
- 자바
- 파이썬
- 카카오
- Zip
- Combinations
- 다익스트라
- 프로그래머스
- 수학
- 정렬
- KAKAO BLIND RECRUITMENT
- 그리디
- Set
- java
- 정규식
- DateTime
- 추석맞이 코딩챌린지
- dfs
- Today
- Total
목록전체 글 (202)
상상쓰
자료와 정보 자료 : 관찰이나 측적을 통해 수집한 단순한 사실 또는 결과값 정보 : 자료를 가공해서 의사 결정에 도움을 주는 결과 데이터베이스 정의 통합 데이터(Integrated) : 자료의 중복을 배제한 자료 저장 데이터(Stored) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료 운영 데이터(Operational) : 업무를 수행하는 데 반드시 필요한 자료 공용 데이터(Shared) : 여러 응용 시스템들이 공동으로 소유하고 있는 자료 데이터베이스 특징 실시간 접근성 : 실시간 응답이 가능 계속적인 변화 : 항상 최신의 데이터를 유지 동시공용 : 다수의 사용자가 동시에 같은 데이터를 이용 내용에 의한 참조 : 데이터를 참조할 때 주소가 아닌 내용으로 참조 데이테베이스 용어 식별자 : 유일성,..
https://programmers.co.kr/learn/courses/30/lessons/42885?language=python3 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 최대 2명씩밖에 탈 수가 없으므로 가장 무거운 사람을 기준으로 2명을 태워 보낼 수 있는지 없는지를 판단한다. 오름차순으로 정렬된 people 에서 end -= 1 을 해주면서 2명을 태워 보낼 수 있으면 start += 1 시켜준다. start 가 end 를 넘어갈 때 answer 을 반환해주면 된다. ..
https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 플러그를 빼야 하는 상황이 생기면 꽂은 플러그 중 더 이상 사용하지 않거나 사용한다면, 가장 나중에 사용될 플러그를 뽑으면 된다. N = 2, K = 7 이고, plug = [2, 3, 2, 3, 1, 2, 7] 를 예로 들면, usage = {2: deque([0, 2, 5]), 3: deque([1, 3]), 1: deque([4]), 7: deque([6])}) 를 만들어 해당 전기용품을 키..
https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net combinations 을 직접 구현해보았고 구한 candidate 배열과 words 배열의 단어랑 비교하여 읽을 수 있는 단어를 찾는 것을 빠르게 구하는 게 중요했다. 우선, 'a', 'c', 'i', 'n', 't' 는 모든 단어마다 있으므로 K - 5 가 음수면 0을 출력해야 하며, K 가 26이면 모든 N개의 단어를 읽을 수 있으므로 N을 출력해주면 된다. dictionary 를 이..
https://www.acmicpc.net/problem/2460 2460번: 지능형 기차 2 최근에 개발된 지능형 기차가 1번역(출발역)부터 10번역(종착역)까지 10개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 칙칙폭폭 import sys n = 0 answer = 0 for i in range(10): IN, OUT = map(int, sys.stdin.readline().split()) n += (OUT - IN) answer = max(answer, n) print(answer)
https://www.acmicpc.net/problem/2501 2501번: 약수 구하기 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. www.acmicpc.net K번째 약수 구하기! import sys N, K = map(int, sys.stdin.readline().split()) for i in range(1, N+1): if N % i == 0: K -= 1 if K == 0: print(i) break else: print(0)
https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 쉽게 생각했을 때, 해당 열에 고인 빗물의 양은 해당 열을 기준으로 왼쪽에서 가장 높은 블록과 오른쪽에서 가장 높은 블록 중 가장 작은 길이 - 해당 열의 블록의 길이이다. (단, >= 0) leftMaxRainwater[i] = 0 ~ i열로 이동할 때 가장 긴 블록의 길이 rightMaxRainwater[i] = W-1 ~ i열로 이동할 때 가장 긴 블록의 길이 를 구한 뒤 ..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 입력 문자열 string 에 strip() 함수 없이 받으면 '틀렸습니다' 을 받는다. 예로 '(()[[]])([])' 를 구해보자. 분배법칙과 스택을 이용한다. 즉, '(())' + '([[]])' + '([])' '(' : temp = 2 '((' : temp = 2 * 2 = 4 '(()' : 바로 이전에 여는 괄호가 들어왔고 '()' 로 괄호가 닫혔으므로 temp = 4 를 answer ..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net DFS 알고리즘을 이용하여 모든 경우를 구하여 최댓값과 최솟값을 반환하면 된다. 연산자의 개수는 len(A) - 1 이기 때문에 rf() 의 인자 i 가 len(A) 일 때 하나의 계산이 끝나므로 그때의 값을 비교하면 된다. o[] 로 해당 연산을 할 수 있는지 알 수 있다. rf() 가 시작할 때 해당 연산자를 썼다는 의미로 -1을 해주고 ..
https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 12주차 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 위클리 챌린지 마지막 12주차 문제이다. permutations 를 이용하여 던전을 탐험하는 순서에 대한 모든 경우의 수를 구하여 경우마다 탐험할 수 있는 던전의 수를 구한다. 최댓값을 반환하면 된다. from itertools import permutations def solution(k, dungeons): answer = 0 for conditio..