일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 수학
- 백준
- 위클리 챌린지
- BFS
- 동적 계획법
- lambda
- 추석맞이 코딩챌린지
- 다익스트라
- Zip
- 카카오
- divmod
- backjoon
- DateTime
- 파이썬
- Re
- heapq
- python
- KAKAO BLIND RECRUITMENT
- 정렬
- 프로그래머스
- 자바
- java
- 그리디
- programmers
- Combinations
- 정규식
- Set
- 재귀함수
- dfs
- 이분탐색
- Today
- Total
목록프로그래머스 (99)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 정규식을 이용하여 file 의 숫자를 기준으로 split 한다. (\d+), 소괄호를 통해 숫자 형태의 문자열을 배열에 담아 [파일명(영문자), 파일명(숫자), .확장자] 로 전체 file 을 받아 file[0].lower() 과 int(file[1]) 로 오름차순으로 정렬한다. import re def solution(files): answer = ..
https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 우선, dic = {'A' : 1, 'B' : 2, ..., 'Z' : 26 } 를 만든다. s = 0, e = 1 로 설정하고 msg = 'KAKAO' 를 예로 들면, msg[s:e] 인 'K' 가 dic 에 있으면, e += 1 해서 'KA' 가 dic 에 존재하는지 비교한다. dic 에 없으면 그 전의 비교 문자인 'K' 즉, dic[msg[s:e]] 를 answer 에 담고 d..
https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr '#' 이 붙은 음은 여기서 한 문자로 취급되어야 하므로 한 문자로 대체한다. ('C#' -> 'c') divmod 를 사용하여 구한 몫과 나머지로 곡의 정보를 반복 또는 slicing 하여 재생된 전체 멜로디를 구한 뒤 그 정보를 담은 dictionary 를 재생 길이로 내림차순, 먼저 나온 음악 순서로 정렬한다. 그럼, 정렬된 dictionary..
https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 주어진 다트 점수 중 'S' 는 '**1', 'D' 는 '**2', 'T' 는 '**3' 과 같이 '*' 와 '#' 도 마찬가지로 문제에서 주어진 환산 방식을 참고하여 수식으로 된 문자열로 바꿔준다. reduce 와 eval 함수를 통해 구한 점수의 합을 구한다. from functools import reduce def solution(dartResult): answer = 0 score = '' bonus = {'S' : '**1' , 'D' : '**2', 'T' : '**3'} result = [] for i in dartRe..
https://programmers.co.kr/learn/courses/30/lessons/17681?language=python3 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 파이썬의 이진수에 관한 내장함수를 이용하여 변환된 이진수의 or 연산 또한 쉽게 구할 수 있다. rjust 함수를 이용하여 길이를 n 에 맞춰준 다음 '1' 은 '#', '0' 은 ' ' 으로 둔다. def solution(n, arr1, arr2): answer = [] for i, j in zip(arr1, arr2): ..
https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 5주차 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 어렵지 않은 경우의 수로 문제를 해결했다. A 에서 E 까지 과정은 다음과 같다. A = 5^0가지 A? = 5^1가지 A?? = 5^2 가지 A??? = 5^3 가지 A???? = 5^4 가지 E = 5^0 + 5^1 + 5^2 + 5^3 + 5^4 + 1 = (5^5) / 4 (등비수열의 합 공식) + 1 규칙을 ..
https://programmers.co.kr/learn/courses/30/lessons/17680
https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 다른 접근으로 푼 게 아니라서 시간 초과에 걸리지 않을까 했는데 정답이 됐다. 1) board 행렬을 돌면서 사라지는 블록 4개의 좌표를 set 에 담는다. 2) set 에 있는 좌표에 해당하는 board 의 값을 '0' 으로 바꿔주고 해당하는 열의 행 값을 한 칸 아래로 내린다. '0' 은 맨 위로 올려 board 를 다시 설정한다. 이..
https://programmers.co.kr/learn/courses/30/lessons/17678 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr busTimetable 은 셔틀 운행 시각을 나타낸다. busTimetable = ['09:00', '09:00' + (t분 * 1), ..., '09:00' + (t분 * (n-1))] dictionary 를 이용하여 busTimetable 의 원소 ..
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 유일성과 최소성을 만족하는 후보키의 개수를 구하는 문제다. combinations 을 이용하여 1개부터 열의 개수(len(relation[0])) 까지 조합할 수 있는 경우를 구한 뒤 유일성(len(s) == N)을 확인한다. 다음, 길이가..