일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정규식
- lambda
- 그리디
- 프로그래머스
- python
- Re
- dfs
- Zip
- 위클리 챌린지
- Set
- heapq
- 수학
- 자바
- 카카오
- 동적 계획법
- backjoon
- DateTime
- 재귀함수
- 추석맞이 코딩챌린지
- 파이썬
- 정렬
- Combinations
- KAKAO BLIND RECRUITMENT
- divmod
- 백준
- 이분탐색
- java
- 다익스트라
- BFS
- programmers
- Today
- Total
목록분류 전체보기 (202)
상상쓰
https://www.acmicpc.net/problem/2530 2530번: 인공지능 시계 첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0 www.acmicpc.net datetime 을 이용하여 시간을 설정하고 시간을 연산할 수도 있다. import sys, datetime h, m, s = map(int, sys.stdin.readline().split()) seconds = int(sys.stdin.readline()) now = datetime.datetime(2021, 8, 19, h, m, s) answer = now + da..
https://www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net 1 * 1 로 자르기 위해서 먼저 가로(또는 세로)의 길이가 1이 되도록 잘라야 한다. 즉, N - 1(또는 M - 1) 가지 경우의 수 가로(또는 세로)의 길이가 1인 초콜릿을 각각 1 * 1 로 자른다고 생각하면 N * (M - 1)(또는 M * (N - 1)) 가지 경우의 수가 나온다. 즉, N - 1 + N * (M - 1) = M - 1 + M * (N - 1) = N * M - 1..
https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 3주차 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr 위클리 챌린지 3주차 문제이다. 갑자기 난이도가 올라갔다. 문제의 첫 번째 입출력 예로 설명을 하자면, game_board = [1, 1, 0..
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 원과 원이 만나는 경우를 생각하면 된다. 1) 원과 원이 만나는 점이 무수히 많을 때 : 두 원의 중심과 반지름의 길이가 같아야 한다. 2) 원과 원이 만나는 점이 두 개일 때 3) 원과 원이 만나는 점이 한 개일 때 4) 원과 원이 만나는 점이 하나도 없을 때 인 경우가 존재한다. 즉, -1, 2, 1, 0 에서 적절한 답을 answer 에 담아 출력하면 된다. 원을 그려보면 아래의 부등식을 쉽게 이해할 수 있다. 2) : |r2 - r1| < d..
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://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순 www.acmicpc.net DFS 알고리즘, 재귀함수를 이용하여 괄호를 추가할 수 있는 모든 경우를 나타내었다. 3+8*7-9*2 를 예로 들었을 때, rf 함수에 str(l) + o + l_ + o_ + r_ 를 출력해보면 0+(3+8)*7-9*2 0+(3+8)*(7-9)*2 0+(3+8)*7-(9*2) 0+3+(8*7)-9*2 0+3+(8*7)-(9*2) 0+3+8*(7-9)*2 0+3+8*7-(9*2) (..
https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만 programmers.co.kr 두 수의 합이 같을 때 두 수의 차이가 가장 작다면 곱이 가장 크다. x * (s-x) 로 그래프만 그려보더라도 위의 명제가 사실이라는 것을 이해할 수 있을 것이다. 위의 사실로 n 이 3이상일 때 각 수의 차이가 가장 작을 때 곱이 가장 크다는 것을 이해할 수 있다. def solution(n, s): answer = [] if n >..
https://programmers.co.kr/learn/courses/30/lessons/42894 코딩테스트 연습 - 블록 게임 [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2 programmers.co.kr 열심히 풀었다. 문제에서 제거가 가능한 모양은 5가지이다. 1) 1 0 0 1 1 1 2) 0 1 0 1 1 1 3) 0 0 1 1 1 1 4) 1..
https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 홀수 + 홀수 = 짝수 짝수 + 홀수 = 홀수 answer = 'SK' if int(input()) % 2 == 1 else 'CY' print(answer)
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 동적 계획법 문제로 dp 배열을 잘 정의해주자. dp 는 2차원 배열로 행을 물건의 개수, 열을 배낭의 무게로 잡는다. dp[i][j] 는 물건이 i 개 있을 때 j 를 수용할 수 있는 배낭에 들어갈 수 있는 가치의 합의 최댓값이라고 정의하자. 그럼, 물건이 추가됐을 때, 그 물건의 무게가 j 보다 작으면 그 물건은 수용할 수 없으..