Language/C++

· Language/C++
코딩테스트 연습 - 합승 택시 요금 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차원 배열을 만들고 해당 값들을 큰 값으로 저장 시킨다. 여기서 주의해야할..
· Language/C++
코딩테스트 연습 - 카드 짝 맞추기 [[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..
· Language/C++
코딩테스트 연습 - 광고 삽입 시간을 나타내는 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..
· Language/C++
코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 개발자 언어 선호도를 map 함수를 이용해서 해당 언어에 대한 값을 저장해준다. table의 string 벡터에서 처음 값을 title에 저장한다. 개발자에 따른 점수를 저장할 수 있는 벡터함수를 만든다. 해당 개발자가 선호하는 언어가 언어 선호도 표에 대한 값을 더해준다. 이때 더해줄때 순서에 따른 점수가 다르기 때문에 5점부터 시작해서 1점까지 순차적으로 곱해준다. 개발자에 따른 점수 벡터함수를 정렬한다. ( 첫번째는 점수, 두번째는 문자열 ) #includ..
· Language/C++
코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 문제를 보자마자 DFS와 BFS를 떠올렸고, DFS가 더 자신있기에 DFS로 문제를 풀기로 결심했다. 처음 가볍게 코드를 짰고 주어진 테스트케이스가 운좋게 통과되었지만 제출하는 동시에 50..
· Language/C++
코딩테스트 연습 - [1차] 추석 트래픽입력: [ "2016-09-15 20:59:57.421 0.351s", "2016-09-15 20:59:58.233 1.181s", "2016-09-15 20:59:58.299 0.8s", "2016-09-15 20:59:58.688 1.041s", "2016-09-15 20:59:59.591 1.412s", "2016-09-15 21:00:00.464 1.466s", "2016-09-15 21:00:00.741 1.581s", "2016-09-1programmers.co.kr  주어진 문자열을 split 처리를 해준다. c++ 사용자는 substr을 연습하기에 좋을 것이다. substr(시작 위치, 길이) 주어진 문자열을 시간, 분, 초, (밀리) 초 까지 나누어..
· Language/C++
코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 처음 구현할 때 어렵지 않게 코드를 작성했지만, 생각보다 어렵게 걸렸다. #에 대한 처리를 하지 않아서 다른 분의 코드를 참고해서 치환이라는 좋은 아이디어가 있어 #이 붙어진 음표를 소문자로 치환을 했다. 치환을 하고 나서 아직도 여러 테스트 케이스에서 오답처리가 되어서 뭐가 문제일까 고민을 하다가,, 음악의 치환 위치를 잘못 선정하여 여러 테스트 케이스에서 오답에 생겼던 거다. 하지만 위치 선정을 하고 나서도 15,29,30번에서 테스트 케이스에서..
· Language/C++
코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr A~Z 까지 map 함수에서 값을 저장한다. 반복문으로 msg 길이만큼 실행 시킨다. 임시 string w에 msg값을 저장하여 해당 값이 map 함수에 있는지 조사한다. 만약 있을 경우 msg의 다음 문자를 탐색하기 위해 j값을 1 증가 시키고 w값에 다음 msg 값을 저장한다. 탐색도중 해당 string w를 찾지 못했으면 while문에 빠져나와서 map 함수에 해당 w 에 대한 값을 업데이트 시킨후 벡터 함수 answer에 w의 전 값을 저장한다. w의 전 값은 단순히 pop_b..
행복한쿼콰
'Language/C++' 카테고리의 글 목록 (3 Page)