본문 바로가기

Algorithme/Programmers16

[프로그래머스] 배달 Java programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 요약 마을의 개수 N, 간선과 그 가중치의 배열 road, 최대 배달 가능 거리 K가 주어진다. 1번 마을에서 부터 배달을 출발하여 거리가 K가 넘지 않는 마을까지 배달이 가능하다. 배달이 가능한 마을의 개수를 반환하는 함수를 만들어야 한다. 문제 풀이 가중치가 할당된 그래프 문제이다. 처음에는 DFS 함수를 하나만들어서 재귀를 이용하며 마을을 .. 2020. 11. 5.
[프로그래머스] 방문길이 Java programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 요약 x좌표와 y좌표가 각각 -5에서부터 5까지 있는 좌표평면이 있다. 게임 캐릭터는 (0, 0)부터 시작하여서 U, D, L, R 각각의 문자마다 위로, 아래로, 왼쪽으로, 오른쪽으로 이동한다. 이동문자가 여러개 있는 문자열을 받아서 그대로 이동할 때 이동의 개수를 중복된 길을 제외하고 반환해야 한다. 문제 풀이 "중복되지 않고" 라는 조건만 보아도 Set으로 푸는 문제임을 알 수 있다. 나는 이동방향, 현재 x좌표, 현재 y좌표로 문자열을 만들어서 문자열에 Set에 넣기로 정했다. 문자열 dirs을 반복문을 통해 한자리 씩 커맨드를 받고 그대로 이.. 2020. 10. 29.
[프로그래머스] 등굣길 Java programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 문제 요약 집(1,1)에서 출발하여 학교(m,n)까지 이동하려 한다. 이동은 오른쪽과 아래로만 제한된다. 물웅덩이 배열이 주어지며 물웅덩이가 있는 위치는 밟을 수가 없다. 학교에 도착하는 경로의 수를 반환하는 함수를 만들어야 한다. 문제 풀이 전형적인 DP 문제이다. 난이도는 어렵지 않고 문제의 핵심은 물웅덩이를 안밟게 하는 부분인 것 같다. 내가 푼 방식은 우선 .. 2020. 10. 28.
[프로그래머스] 입국심사 Java programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 문제 요약 n명의 사람들이 입국심사를 기다리고 있다. 각 입국심사관의 입국심사 시간은 times 배열에 주어진다. 모든 사람이 심사받는 최소 시간을 반환해야 한다. 문제 풀이 이 문제의 핵심은 시간(mid)이 주어지면 그 시간 동안 몇명까지 통과시킬 수 있는지 확인할 수 있다는 것이다. 이를 통해 mid를 앞 뒤로 움직이며 이분 탐색으로 문제를 풀어낼 수 있다. 우선 left를.. 2020. 10. 27.