[c++][프로그래머스] 시험장 나누기
프로그래머스 시험장 나누기 [2021 카카오 채용연계형 인턴십] https://programmers.co.kr/learn/courses/30/lessons/81305 코딩테스트 연습 - 시험장 나누기 3 [12, 30, 1, 8, 8, 6, 20, 7, 5, 10, 4, 1] [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 5], [2, 10], [3, 0], [6, 1], [11, -1], [7, 4], [-1, -1], [-1, -1]] 40 programmers.co.kr 문제 풀이 이 문제는 DFS + 파라메트릭 서치(Parametric Search)로 구현했습니다. mid 값을 변화시키면서 다음 시나리오를 따라 그룹을 나누어보면서 mid 값을 최적화합니다. 위와 ..
2022. 4. 20.
[c++][프로그래머스] 미로 탈출
프로그래머스 미로 탈출 [2021 카카오 채용연계형 인턴십] https://programmers.co.kr/learn/courses/30/lessons/81304 코딩테스트 연습 - 미로 탈출 4 1 4 [[1, 2, 1], [3, 2, 1], [2, 4, 1]] [2, 3] 4 programmers.co.kr 문제 풀이 이 문제는 BFS + 비트마스킹으로 구현했습니다. 함정의 개수가 최대 10개이기 때문에 함정의 상태를 비트마스킹으로 관리합니다. 함정의 상태에 따라 순방향 or 역방향으로 이동해야하기 때문에 순방향, 역방향 엣지 모두 저장합니다. vector edges[1010]; ... for(auto &r: roads) { edges[r[0]].push_back({r[1], r[2], true});..
2022. 4. 19.