본문 바로가기

Programmers56

알고리즘(등굣길, 순위) [등굣길] * 조건 m과 n이 주어진다 집의 위치(1,1)에서 목적지(m,n)까지 갈 수 있는 최단경로의 개수를 구한다 puddles[][]는 홍수로 인해 지나갈 수 없는 좌표를 뜻한다 * 알고리즘 DP * 로직 배열 사이즈를 map[n+1][m+1]로 설정해둔다 집(1,1)을 중심으로 피라미드 형태로 값을 더해가면 목적지까지 갈 수 있는 최소 경로의 경우의 수를 구할 수 있다 배열 전체를 돌 때, 만약 현재 좌표의 값이 0이면서 위의 좌표 값이 갈 수 없는 길이라면 -> 현재 좌표의 값 = 현재 좌표의 왼쪽 값 + 0 왼쪽 좌표 값이 갈 수 없는 길이라면 -> 현재 좌표의 값 = 현재 좌표의 위쪽 값 + 0 둘다 갈 수 있는 길이라면 -> 현재 좌표의 값 = 위쪽 값 + 왼쪽 값 도착지 좌표의 값이 0.. 2019. 11. 21.
프로그래머스(여행 경로, 저울) - Java [여행 경로] https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr * 조건 출발지와 도착지가 담긴 항공권이 입력된다 주어진 항공권을 모두 사용해 모든 도시를 방문한다 항상 ICN에서 출발한다 가능한 경로가 2개 이상일 경우, 알파벳 순서가 앞서는 경로를 리턴한다 * 알고리즘 브루트포스 * 로직(Logic) 출발지가 같은 경우에는 도착지를 기준으로 사전순 오름차순 정렬을 한다(조건-4를 만족하기 위해) ICN으로 시작되는 곳을 찾고, 해.. 2019. 11. 18.
프로그래머스(입국 심사, 이중우선순위 큐) - Java [입국 심사] https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr * 조건 n명이 입국 심사를 위해 대기중이다 심사관마다 심사하는 소요 시간인 times[]가 주어진다 모든 사람이 심사를 받는데 걸리는 최소 시간을 구한다 비어있거나 더 빨리 끝나는 심사대가 있다면 기다렸다가 심사를 받아도 된다 * 알고리즘 이분 탐색 * 로직(Logic) times[]를 오름차순 정렬한다 초기에는 비어있는 심사대 수만큼은 바로 .. 2019. 11. 11.