일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- DateTime
- 추석맞이 코딩챌린지
- divmod
- 이분탐색
- BFS
- Re
- java
- Set
- lambda
- 재귀함수
- 정규식
- 동적 계획법
- 정렬
- 프로그래머스
- 자바
- python
- 다익스트라
- Combinations
- heapq
- dfs
- 파이썬
- 위클리 챌린지
- 수학
- 카카오
- Zip
- programmers
- KAKAO BLIND RECRUITMENT
- backjoon
- 그리디
- Today
- Total
목록파이썬 (161)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 제일 앞에서부터 정해진 길이로 잘라야 해서 입출력 예로 정해진 길이가 2라면 aa, bb bb, ac ac, cc 의 경우만 비교해주면 된다. cnt 로 중복된 문자열을 검사하여 예를 들면 정해진 길이가 1이고 'c' 에 대해서 cnt = 3 이므로 'ccc' 가 '3c' 가 된다. 즉, 길이가 i * cnt 에서 i + len(str(cnt)) 가 된다..
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://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..