2023/02/03 2

[백준] 1351번 무한수열 - C++

https://www.acmicpc.net/problem/1351 1351번: 무한 수열 첫째 줄에 3개의 정수 N, P, Q가 주어진다. www.acmicpc.net N의 최댓값이 10^12 이므로 배열이나 벡터는 사용할 수 없다. 중복되는 값들을 쉽게 해결하기 위해 memoization을 활용한다. 이때 이전의 값들을 알기는 해야 하지만 1~최댓값 사이의 모든 수를 사용하지는 않을 것이기 때문에 unordered_map을 사용하여 key : value 형태로 저장하여 중복되는 값들을 활용하도록 한다. 문제를 보고서는 배열을 사용할 수 없지만 재귀함수를 이용하면 풀 수 있을 것 같았다. N의 최대값을 크지만 PQ가 2만 되도 logN이 되므로 많은 양의 배열이 필요 할 것 같지는 않아 key : val..

코딩/백준 2023.02.03

[백준]1744번 수 묶기 - C++

https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 문제 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, ..

코딩/백준 2023.02.03