일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Zip
- 수학
- heapq
- KAKAO BLIND RECRUITMENT
- DateTime
- Combinations
- 카카오
- 그리디
- python
- Re
- 정렬
- 위클리 챌린지
- 자바
- lambda
- 파이썬
- divmod
- programmers
- 백준
- java
- 추석맞이 코딩챌린지
- BFS
- backjoon
- Set
- 정규식
- 이분탐색
- 다익스트라
- 재귀함수
- 프로그래머스
- 동적 계획법
- dfs
- Today
- Total
목록카카오 (40)
상상쓰
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/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)을 확인한다. 다음, 길이가..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr str1, str2 의 다중집합을 만든다. 이때 만들어지는 집합은 중복을 허용한다. 그래서 makeSet 에서 return 되는 값은 list 이다. 교집합과 합집합을 구한 뒤(set() 은 중복허용을 하지 않는다.) 중복을 허용하므로 교집합의 한 원소 e 는 list 인 s1 과 s2 에 들어있는 개수 중 가장 적은 개수만큼 교집합에 속한..
https://programmers.co.kr/learn/courses/30/lessons/42889?language=python3 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr Counter 도 써보고 싶었고 zip 도 한 번 써보고 싶었다. Counter 를 이용하여 진행 중인 스테이지 번호의 개수를 알아낸다. print(count) = Counter({2: 3, 3: 2, 1: 1, 6: 1, 4: 1}) 1번 스테이지부터 실패율을 계산한다. (T = 해당 스테이지를 클리어한 사람의 수) zip 을 이..
https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 균형잡힌 괄호 문자열, c == 0 올바른 괄호 문자열, t = True 를 가지고 문제의 4단계를 재귀함수를 이용해 진행하면 된다. def solution(p): answer = '' if p != '': n = len(p) c = 0 t = True for i in range(n): c = c + 1 if p[i] == '(' else c - 1 if c < ..