프로그래머스/Level_313 [프로그래머스 Level_3 / C++ / 카카오] 보석 쇼핑 투포인터를 활용해서 풀었다. 1. 먼저 본인은 문자열을 상당히 싫어하기 때문에 unordered_map 을 활용해서 문자열을 모두 숫자로 변경하였다. - 즉, 위의 예제에서 나오는 보석이름을 숫자로 변경해서 v라는 벡터에 저장하였다. gams {"DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"} => v { 1, 2, 2, 1, 1, 3, 4, 1 } 2. START, END 변수를 생성하여 벡터의 인덱스 번호를 저장 시킨 후, 문자열 종류의 개수에 도달하지 않았다면 END변수를 계속해서 증가 시켜준다. ( 위의 예제에서 문자열 종류의 개수는 4개이다. ) 이때, 방문했던 값을 인덱스로 가진 check 라는 벡터에 개수를 하나씩 증가시켜.. 프로그래머스/Level_3 2022. 2. 10. [Level 3] 입국심사 (C++) 진짜 이 문제에 시간 엄청 많이 쏟아 부었다. 아무리봐도 이게 정답인데 계속 "6번 9번 테스트케이스"에서 오류가 났다. 너무 스트레스 받아서 시간 보니까 3시간이 지나있었다. 비쥬얼 스튜디오에서 모든 테스트 케이스 쳐보고 계산해보고 하던 것을 중단하고 남들이 짜놓은 코드를 확인하고 검사해봐도 오류를 발견하지 못했다. 이진탐색은 다 똑같은 로직이기 때문에 이게 문제는 아니였던 거 같다. 이진탐색을 한번이라도 풀어 본 사람은 제일 처음 변수를 start와 end를 가리키는 변수를 생성해야한다. 나는 해당 변수명을 l 과 h 로 보통 지정하는 편인데 각각 초기화를 1과 LLONG_MAX 로 지정하였다. 근데 이렇게 하면 안된다. h에는 모든 사람이 제일 긴 심사 기간을 가지는 심사관한테 다 갔을 때 걸리는 .. 프로그래머스/Level_3 2022. 1. 18. [Level_3] 네트워크 (C++) 위의 그림은 [[1,1,0],[1,1,0],[0,0,1]] 를 도형화 시켜놓은것이다. 즉, 이차원 벡터값을 받아와서 현재 노드를 가리키는 인덱스에서 다른 노드를 가리키는 인덱스의 배열값이 1인곳을 방문 처리를 해주면서 dfs 를 돌리면 된다. #include #include using namespace std; bool check[200]; int n1; void dfs (vector &v, int node_idx){ for(int i=0; i 프로그래머스/Level_3 2022. 1. 18. 이전 1 2 다음 반응형