프로그래머스 9

[프로그래머스] 뉴스 클러스터링

문제풀이 : programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 문제 유형 구현, Map 두 문자열의 각 두 문자씩을 분리해 Map에 원소로 넣는다. 이 풀이에서는 map

[프로그래머스] 외벽 점검

문제 링크 : programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 programmers.co.kr 문제 유형 Brute Force, DFS, 순열 [2020 카카오 블라인드 코딩 테스트] weak의 크기가 15, dist의 크기가 8로 매우 작기 때문에 완전 탐색으로 접근할 수 있는 문제이다. 우선 각 친구들은 반드시 취약 지점에서 출발하는 것이 유리함은 자명하다. 같은 거리를 이동하더라도 반드시 최대의 취약 지점을 지나기 때문이다. (따라서 문제의 4.5 ~..

[프로그래머스] 자물쇠와 열쇠

문제 링크 : programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제 유형 Brute Force, 구현 [2020 카카오 블라인드 코딩 테스트] key와 lock의 크기가 작으므로, 모든 경우를 탐색함으로써 자물쇠를 열 수 있는 경우를 찾아내는 문제이다. key의 일부분만으로 lock을 맞춰도 관계없으므로, key의 가능한 모든 위치를 계산하기 위해 lock을 3배의 크기로 확장하여 구현한다. (코드의 extend_lock) key를 회전하는 함수와, key와 lock의 돌..

[프로그래머스] 매출 하락 최소화

문제 링크 : programmers.co.kr/learn/courses/30/lessons/72416 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr 문제 유형 Tree DP, Greedy 2021 카카오 블라인드 코딩 테스트의 7번 문제이다. 문제의 '팀장'이 곧 서브트리의 root 노드임을 캐치했다면, 이 문제가 각 서브트리에서 최소 하나의 노드를 선택한 경우의 최소 가중치를 묻는 문제임을 알 수 있다. 단, 이 서브트리는 root와 그 자식 노드로만 이루어져 있다. 백준 2213 트리의 독립집합..

[프로그래머스] 카드 짝 맞추기

문제 링크 : 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 문제 유형 BFS, DFS, Brute Force, 구현 2021 카카오 블라인드 코딩 테스트의 6번 문제이다. 게임판의 크기가 4x4로 매우 작고, 카드의 종류도 6가지이므로 각 카드를 찾는 모든 순서에 대해(완전 탐색) 이동 횟수를 구한 후 이들 중 최솟값을 구하면 된다. 이 풀이에서는 이동 횟수를 구하는 데 BFS를, 카드를 맞추는 순서에 대한 순열을 DFS로..

[프로그래머스] 광고 삽입

문제 링크 : programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 문제 유형 Lazy Propagation ※ 이 풀이에서는 공식 해답과 다르게 Lazy Propagation을 사용하였다. 공식 해답의 풀이는 추후 추가 예정 세그먼트 트리(Segment Tree) : Lazy Propagation [선행 개념 : 세그먼트 트리] 세그먼트 트리(Segment..

[프로그래머스] 합승 택시 요금

문제 링크 : 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 플로이드-와샬 알고리즘 또는 다익스트라 알고리즘으로 해결할 수 있는 문제이다. 출발..