본문 바로가기

Algorithm7

[Cpp] 백준 3015번 오아시스 재결합 문제를 딱보는 순간 monotonic stack으로 풀어야겠다! 생각이 들었습니다. 다만 monotonic stack은 중복된 엘리멘트 요소가 존재할 경우에는 정확한 연산이 안나오는 문제가 있으므로 해당 포인트를 어떻게 해결하는가가 관건이고 마지막으로!!! 결과값은 int형 정수의 범위보다 클 수 있다... int returnCountMonotonicStack(vector& vec) { if(vec.empty() || vec.size() == 1) return 0; stack monotonicStack; long cnt = 0; for(int i = 0; i < static_cast(vec.size()); i++) { while(!monotonicStack.empty() && monotonicStack... 2023. 9. 5.
[Cpp] 백준 1753번 최단 경로 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net #include #include #include using namespace std; #pragma region 최단 경로 // 1. 정점의 개수 V, 간선의 개수 E 입력받는다. // 2. 시작 정점의 번호 K를 입력받는다. // 3. u v w를 입력받아서 그래프에 간선을 추가한다. u는 시작 정점, v는 도착 정점, w는 가중치 // 4. dist 배열을.. 2023. 8. 31.
[Cpp] 백준 1008번 A/B 기초 사칙연산 문제긴한데 올리는 이유는 자료형이 표현할 수 있는 범위에 대한 함정이 있기 때문 일단 제 풀이는 아래와 같은데 (검색해보니 풀이 방법은 다양했음) #include #include using namespace std; int main(int argc, char* argv[]) { double a, b; cin >> a >> b; cout > a >> b; cout 2023. 6. 19.
[프로그래머스] 크기가 작은 부분 문자열 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 제 코드는 아래와 같은데 실수를 한게 있다면 long이 아닌 int로 선언해서 대체 왜 실패가 뜨.. 2023. 1. 1.