[프로그래머스][Level3][c++][플로이드와샬] 2021 KAKAO BLIND RECRUITMENT - 합승 택시 요금 - 컴도리돌이
코딩테스트 연습 - 합승 택시 요금 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 시작 지점에서 -> 도착 지점까지의 최소 비용을 탐색해야하기 때문에 플로이드-와샬 알고리즘을 사용해야 한다. 2차원 배열을 만들고 해당 값들을 큰 값으로 저장 시킨다. 여기서 주의해야할..
더보기
[프로그래머스] [Level3][c++][bfs][permutation] 2021 KAKAO BLIND RECRUITMENT - 카드 짝 맞추기 - 컴도리돌이
코딩테스트 연습 - 카드 짝 맞추기 [[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 카드의 수가 6장으로 제한되어 있다. 그렇기에 카드 숫자에 따른 순열 조합으로 가장 최단 거리를 조사했다. 먼저 board에 있는 카드의 숫자를 card 벡터에 저장하여, 중복된 숫자는 제거하고 next_permutation으로 bfs 탐색을 한다. bfs로 카드를 탐색하기 전에 각 순열마다 최소 거리를 구해야하기 때문에 순열이 돌때마다 board와 r, c 값은 항상 새로운 인자에 초기화 시켜준다. bfs 함수에 들어가면 방문함수와 queue를 생성했다. queu..
더보기
[프로그래머스][Level3][c++] 2021 KAKAO BLIND RECRUITMENT -광고 삽입
코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr #include #include #include #include using namespace std; vector dp(360000,0); string solution(string play_time, string adv_time, vector logs) { string answer = ""; int start_hh,start_mm,start_ss , end_hh,end_mm,end_ss,st..
더보기