일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lambda
- 수학
- 이분탐색
- java
- Re
- divmod
- 그리디
- 동적 계획법
- 정규식
- 위클리 챌린지
- 자바
- 다익스트라
- DateTime
- programmers
- BFS
- backjoon
- Set
- 파이썬
- 백준
- python
- 프로그래머스
- heapq
- Zip
- KAKAO BLIND RECRUITMENT
- Combinations
- 추석맞이 코딩챌린지
- 정렬
- dfs
- 카카오
- 재귀함수
- Today
- Total
목록카카오 (40)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 이 문제를 처음 풀었을 때 문제 이해를 잘 못해서 시간이 조금 걸렸었다. 쉽게 말하면 정해진 개수로 단품 요리를 만들었을 때 가장 많이 주문된 조합을 구하면 된다. combinations 을 활용하여 정해진 개수에 대해 조합을 구하여 menuList 에 담고 Counter 를 활용하여 조합된 요리가 몇 번 나왔는지 확인한다. 입출력 예제에서 정해진 개수가 2일 때..
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://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..
https://programmers.co.kr/learn/courses/30/lessons/72416 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr DFS 와 동적 계획법을 이용하여 풀 수 있을 거라고는 생각했는데 dp 배열을 구현하기가 어려워서 다른 블로그를 참고하여 풀어나갔다. dp[i][0] : i 가 참석하지 않았을 때의 최솟값, dp[i][1] : i 가 참석했을 때 최솟값으로 정의하고, 기본값으로 dp[i][1] = sales[i-1], dp[i][0] = 0 으로 시작한다. 리프 노드부..
https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 저번에 풀었던 [3차] 자동완성에서 썼던 Trie 자료구조를 이용하였다. '?' 가 접두사 아니면 접미사로만 존재하기 때문에 두 개의 dictionary 를 만들어 검색할 수 있도록 하였다. 예를 들어, 'frodo' 를 dictionary에 추가시키면 {'f': {'*': [5], 'r': {'*': [5], 'o': {'*': [5], 'd': {'*': [5], 'o': {'*': [5]}}}}}} 이고 '*' 는 그 위치의 문자를 가진 문자열의 길이가 5인 것이 하나 존재한다는 의미이다. 'front', 'frost' 과 'fronze..
https://programmers.co.kr/learn/courses/30/lessons/42888?language=python3 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 퇴근! def solution(record): answer = [] dic = {} for i in record: if i[0] != 'L': command, idx, name = i.split() dic[idx] = name for i in record: if i[0] == 'E': answer.append(dic[i.split(..
https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 4단계 문제 '호텔 방 배정' 처럼 재귀함수를 이용하여 위치를 찾고 'C' 일 때, k 를 remove 에 담아 처리하려고 했으나, 'Z' 때문에 구현하기가 힘들 것 같았다. 그래서 생각해낸 것이 heapq 를 이용하였다. 'Z' 의 경우에도 복원된 행의 위치를 queue 에 담기만 하면 제 위치를 찾아가기 때문..
https://programmers.co.kr/learn/courses/30/lessons/17676 = process[k][0]: c = c + 1 if answer < c: answer = c return answer print(solution(['2016-09-15 01:00:04.001 2.0s', '2016-09-15 01:00:07.000 2s'])) # 1
https://programmers.co.kr/learn/courses/30/lessons/17685 코딩테스트 연습 - [3차] 자동완성 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g programmers.co.kr 저번에 Trie 자료구조를 유튜브를 통해서 배운 적이 있는데 문제를 보고 Trie 를 이용해야겠다고 생각이 났다. 문자열을 한 문자씩 정의하여 dictionary 에 담아서 dictionary[] 의 길이를 가지고 몇 번의 입력으로 자동완성이 되는지를 판별해주면 된다. 예를 들어, dictionary['g'] 의 길이가 2개 이상이라면 'g' ..