본문 바로가기
반응형

Problem Solving/카카오 블라인드 기출33

2021 - 매출 하락 최소화 https://programmers.co.kr/learn/courses/30/lessons/72416 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr [ 문제풀이 ] 2021 카카오 기출 마지막 문제이다. 트리 dp를 이용해서 푸는 문제인데 결국 혼자 힘으로 해결하지 못하였다. ​BaaarkingDog 님의 유튜브 풀이 영상을 참고하여 해결하였다. · https://www.youtube.com/watch?v=FX9n1PFv2K4 우선 각 정점에 대해서 주어질 수 있는 상황은 현재 v 정점이 참석했는지.. 2021. 8. 9.
2021 - 카드 짝 맞추기 https://programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr [ 문제풀이 ] 주어진 카드들을 방문할 수 있는 모든 경우의 수를 탐색해주면 되는 완전 탐색 문제이다. 별다른 알고리즘을 요구하는 것은 아니지만 구현하는데 생각보다 까다로워서 많은 시간이 걸렸다. ​모든 경우의 수를 만들기 위해선 2가지를 고려해줘야 한다. ​첫 번째는 몇 번째 카드를 먼저 제거할 것인지에 대한 순서이다. ​예를 들어 카드가 1, 2, 3, 총 3개.. 2021. 8. 9.
2021 - 광고 삽입 https://programmers.co.kr/learn/courses/30/lessons/72414#fnref1 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr [ 문제풀이 ] 카카오는 시간을 초로 변환하여 처리하는 문제가 자주 출제되는 것 같다. 이 문제 역시 마찬가지로 시간을 초로 변환하여 각 시간마다 누적 시청자 수를 구해주면 해결할 수 있는 문제이다. ​누적 시청자 수를 구할 때 매번 처음부터 구해줄 필요가 없이 이전 값과 다음 .. 2021. 8. 9.
2021 - 합승 택시 요금 https://programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr [ 문제풀이 ] 4번 문제치고 굉장히 간단한 문제이다. 그래프에서 특정 지점에서 특.. 2021. 8. 9.
2021 - 순위 검색 https://programmers.co.kr/learn/courses/30/lessons/72412 2021. 8. 9.
2021 - 메뉴 리뉴얼 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr [ 문제풀이 ] 주어진 orders들로 만들 수 있는 길이가 2 이상인 코스들을 조합한 후 course의 길이마다 최대 주문 횟수를 가지는 코스들을 추출하면 되는 문제이다. ​"AC" 코스나 "CA" 코스는 똑같은 코스이기 때문에 조합을 통해 가능한 모든 코스를 추출해주면 된다. import java.util.*; class Solution { Map hm; Li.. 2021. 8. 9.
2021 - 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr [ 문제풀이 ] 주어진 문자열을 주어진 조건대로 변환해주면 되는 문제이다. 기본적인 문자열 함수를 안다면 구현하는데 크게 어려움이 없을 것이다. ​다른 풀이를 살펴보니 정규 표현식을 이용하면 코드가 굉장히 짧고 간결해진 것을 확인할 수 있었다. 정규 표현식은 알아두면 유용할 것 같아서 후에 따로 공부해봐야겠다. class Solution { public .. 2021. 8. 9.
2020 - 블록 이동하기 https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr [ 문제풀이 ] 2020 카카오 블라인드 기출 마지막 문제이다. 18. 19. 20년도 기출을 풀어보면서 느끼는 거지만 문제 배치가 난이도 순인 것은 아닌 것 같다. ​전형적인 bfs + dp 문제이다. 현재 로봇의 위치에서 상하좌우로 이동 및 회전할 수 있는 경우의 수를 bfs(최소 거리)를 통해 탐색해주면서 dp를 활용해 중복 방문을 해결하면 쉽게 해결할 수 있다. ​로봇의 상태는 2가지.. 2021. 8. 8.
2020 - 외벽 점검 https://programmers.co.kr/learn/courses/30/lessons/60062# 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr [ 문제풀이 ] 한 명부터 모든 친구를 각 영역에 배치하면서 가능한 경우를 찾아주면 되는 완전 탐색 문제이다. ​이동을 시계/반시계 방향으로 할 수 있지만 이는 결국 중복되는 값이기 때문에 한 방향으로만 처리해주도록 하자. 이를 편하게 구현하기 위해 원형을 직선으로 변경해주면 된다. ​예제 1번에서 처리해야 할 영역이 1, 5, 6, 10인 경우 각각 n(12.. 2021. 8. 8.
반응형