일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- programmers
- Zip
- 정규식
- KAKAO BLIND RECRUITMENT
- heapq
- dfs
- 카카오
- BFS
- 백준
- 정렬
- 위클리 챌린지
- backjoon
- python
- 프로그래머스
- java
- 재귀함수
- 파이썬
- Combinations
- 그리디
- 자바
- Set
- divmod
- lambda
- DateTime
- 수학
- 동적 계획법
- 이분탐색
- 추석맞이 코딩챌린지
- 다익스트라
- Today
- Total
목록Coding Test (191)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 파이썬 정규표현식 re 를 활용하여 1단계부터 7단계까지 순차적으로 answer 를 재정의한다. ljust 함수로 길이가 3이 될 때까지 공백을 answer 의 마지막 문자로 채운다. import re def solution(new_id): answer = new_id.lower() answer = re.sub('[^a-z0-9\-_.]', '', ans..
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..