반응형

C++ 2

2. [C++]백준 알고리즘 15684번: 사다리 조작 - 코딩도치

안녕하세요. 코딩도치 입니다~ 오늘은 백준 알고리즘 15684번 사다리 조작 문제를 풀어보려고 합니다! 이해하는 것도, 방법을 생각하기도, 구현하기도 참 어려운 문제입니다ㅜㅜ 그래도 한번 차근차근 알아보겠습니다! 먼저 이 문제는 기본적으로 dfs를 활용해서 모든 경우의 수를 다 생각해보고 판단할 수 있습니다. 하지만 이렇게 하면 시간초과가 나버리는데요. 그렇다고 무슨 특별한 방법이 있는 것은 아닙니다. 모든 경우의 수를 본다는 전제를 두고 그 경우의 수를 줄여주는 방법 밖에는 없습니다. 그럼 경우의 수는 어떻게 줄일까요?? 간단합니다. 기본적인 dfs방식에서 어떠한 조건을 주고 해당 조건을 만족하는 경우에만 이어서 탐색을 하도록 하는 것이죠. 이러한 방법을 백트래킹(Backtracking)이라고 합니다...

1. [C++] 프로그래머스 2020 카카오 인턴십 : 보석쇼핑 - 코딩도치

안녕하세요. 코딩도치입니다~ 오늘은 프로그래머스에 있는 2020 카카오 인턴십 : 보석쇼핑 문제를 풀어보려고 합니다! 해당 문제는 정확성과 효율성까지 테스트하는 문제입니다. 그래서 문제를 딱 보고 완전탐색과 같은 방법으로 해결할 수는 있겠지만, 그렇게 하면 효율성 테스트를 통과할 수 없겠죠? 여기서 필요한 알고리즘이 바로 투 포인터(Two Pointer) 알고리즘입니다. 어떠한 연속된 배열의 범위를 구하는 문제이고, 빠른 검색을 요구하기 때문에 위 알고리즘을 생각해볼 수 있는 것입니다. 먼저 투 포인터(Two Pointer)가 무엇인지부터 살펴보겠습니다. 투 포인터(Two Pointer)란, 리스트를 두 개의 포인터를 이용해 순차적으로 접근하면서, 두 포인터 구간의 값이 타겟 값과 같을 때 까지 포인터를..

반응형