[BOJ] 백준 2410 2의 멱수의 합 C++(Cpp)
2024. 11. 18. 21:01
알고리즘/백준[BaekJoon]
링크 : https://www.acmicpc.net/problem/2410문제를 풀며 고민했던 점DP를 어떻게 쪼개서 풀어야할까점화식은 어떻게 구해야할까와 같은 일반적인 접근법을 익히기 위해서 고민했다.밟았던 단계N이 홀수일 경우N - 1의 조합에서 +1을 하게 되면 그 조합이 만들어진다는 점을 착안해야한다고로 DP[N] = DP[N - 1]Ex. N = 3N = 2 조합 (1 + 1, 2) -> N = 3 조합 (1 + 1 + 1, 2 + 1)Ex. N = 5N = 4 조합 (1 + 1 + 1 + 1, 2 + 1 + 1, 2 + 2) -> N = 5 조합 (1 + 1 + 1 + 1 + 1, 2 + 1 + 1 + 1, 2 + 2 + 1)N이 짝수일 경우N - 1의 조합에서 + 1을 한 조합과 N / 2의..
[BOJ] 백준 2473 세 용액 C++(Cpp)
2024. 11. 13. 22:51
알고리즘/백준[BaekJoon]
링크 : https://www.acmicpc.net/problem/2473문제를 풀며 고민했던 점STL을 직접 구현해서 사용하기로 한 시점으로 sort를 어떻게 할것인가?시간복잡도 상 최선과 최악이 O(nlogn)인 병합(합병) 정렬을 사용하기로 선택!밟았던 단계병합 정렬을 구현하여 sort를 할 수 있게끔 함수를 만든다입력받은 nums를 merge_sort를 활용하여 정렬세 포인터를 구현하는 것보다 for문을 활용해 하나를 고정하고 두 포인터 알고리즘을 활용하여 0에 가까운 합을 구함세 개의 합이 30억이 넘어가는 숫자임으로 long long을 활용하여 풀어야한다!암묵적 형변환은 쓰레기 값이 들어갈 수 있으므로 명시적 형변환을 활용하여 쓰레기값을 방지하는 것이 중요!#include #define fas..