일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정규식
- 자바
- 그리디
- Combinations
- 백준
- KAKAO BLIND RECRUITMENT
- Zip
- 추석맞이 코딩챌린지
- divmod
- java
- 동적 계획법
- heapq
- 다익스트라
- 수학
- dfs
- 위클리 챌린지
- 프로그래머스
- 재귀함수
- DateTime
- programmers
- Re
- python
- lambda
- 정렬
- BFS
- Set
- 이분탐색
- 카카오
- 파이썬
- backjoon
- Today
- Total
목록프로그래머스 (99)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 문제를 풀었을 때, 누적 합을 생각했으나 시간초과가 났다. 당시에 풀었던 방법은 예를 들어, skill이 [1, 0, 0, 3, 4, 4] 라고 한다면, -4 0 0 0 0 4 -4 0 0 0 0 4 -4 0..
https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 오랜만에 풀어서 그런지 문법들이 기억이 잘 안 난다. dictionary 를 이용하여 입차 시간과 출차 될 때 주차시간을 기록한다. import math def solution(fees..
https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 1. k진수를 구한다. 2. P는 각 자릿수에 '0' 을 포함하지 않고 양옆에 '0' 또는 아무것도 없어야 하므로 '0' 을 기준으로 쪼개어 배열을 만든다. 3. 배열 중 소수인 원소의 개수를 구한다. import math def prime(n): answer = True for i in range(2, int..
https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 작년에 풀었었는데 반가웠다. set 을 사용하여 정지당한 유저를 구하고 그 유저를 신고한 인원을 차례로 확인하여 count[신고자] += 1 을 한다. from collections import defaultdict def solution(id_list, report, k): answer = [] dic = defaultdict(set) count = d..
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://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..
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://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 에 해당하는 행과 열을 구할 수 있다. 위의 규칙으로 봤을 때 해..