본문 바로가기

공부/알고리즘51

백준 2589 - 보물섬[BFS] 그냥 흔한 BFS 문제 각 L 지점마다 BFS로 큐 끝까지 돌리면 가장 멀리갈 수 있는 지점의 최단거리가 나오는데 이 결과값 중 최대를 출력해주면 끝 2020. 4. 16.
백준 2146 - 다리 만들기[DFS,BFS] DFS와 BFS 짬뽕 문제 DFS를 통해서 각 섬들을 구분해준다(단지번호 매기기와 비슷) 그 후에 BFS를 이용해서 해변(육지와 붙어있는 바다)부터 다른 섬까지의 최단거리를 구한다 BFS를 돌리면서 만약 거리가 MIN 이상으로 올라가면 그냥 BFS 끝내고 다음 해변부터 탐색한다 queue는 clear()가 따로 없기 때문에 저번에 배웠던 swap을 이용해서 메모리 해제하는 걸 다시 써봤다. 그래도 에러안나고 디버깅부터 끝까지 한방에 맞추니 기분이 좋다 2020. 4. 16.
백준 10819 - 차이를 최대로[순열] 자소서하랴 싸강들으랴 플젝하랴 알고리즘 할 틈이 없겠지만 그래도 틈틈히 하루 한 문제는 풀고 있었는데 정작 블로그에 올릴 틈은 없어서 오랜만에 올리는 문제 저번에 언급한 것처럼 순열 구현할 때 next_permutation을 써봤다. 처음에는 계속 맘처럼 안돌아가서 왜그러지? 했는데 알고보니 vector나 array를 오름차순으로 정렬된 상태에서 해야 된다고 한다. 막상 써보니 굉장히 편리한 함수 문제 자체는 별거 없다 결과값 구하고 최대값인지 판별하면 끝 2020. 4. 15.
백준 10996 - 별 찍기-21 자소서쓰랴 싸강들으랴 스프링 공부하랴 기사 공부하랴 할게 너무많아서 오랜만에 별한번 찍었다. 짝수 홀수의 성질을 이용해서 두개 더했을때 짝수인경우만 별찍고 아닌 경우 공백으로 금방 풀었다 2020. 4. 6.
백준 14889 - 스타트와 링크[브루트포스] 삼성 SW 기출인 스타트와 링크 축구팀원들의 조합을 골라 두 팀간의 능력치 차의 최소값을 구하는 문제 조합사용하는데 재귀로 했는데 Vector와 next_permutation을 사용해 조합을 구하는 방법도 있다고 한다. 이 방법은 다음에 사용해볼 예정 2020. 4. 2.
백준 1182 - 부분수열의 합[브루트포스] + 200문제 달성 평범한 브루트 포스 문제 계속 TC가 틀리길래 왜그런가 했더니 부분 수열 중에 공집합을 빼야했다. 따라서 number를 넣어 수열 멤버의 수를 셌는데 이 글 작성하고 보니 그냥 공집합은 늘 있으니 -1해서 출력해도 되겠다는 생각이 든다. 그리고 어느덧 200 문제 돌파! 키보드의 효과인지 싸강이 너무 재미없어서 인지 요즘 알고리즘에만 정신이 팔려산다. 2020. 3. 31.
백준 14888 - 연산자 끼워넣기[브루트포스] 말 그대로 브루트포스 모든 경우의 수를 다 따져보면 된다. 간단히 하자면 주어진 각 연산자의 개수를 이용해 N-1개의 순열을 만들고 계산해서 해당 값을 MIN 과 MAX와 비교한다. 이를 재귀적으로 구현했다. 2020. 3. 31.
반응형