본문 바로가기

728x90

[백준알고리즘] 1744번: 수 묶기 -Python [백준알고리즘] 1744번: 수 묶기 -Python https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열 www.acmicpc.net 주어진 조건은 아래와 같다. 수열에서 임의의 두 수를 곱할 수 있다. 한 번 묶여서 .. 더보기
[백준알고리즘] 11057번: 오르막 수 -Python [백준알고리즘] 11057번: 오르막 수 -Python https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. www.acmicpc.net 수의 자릿수가 주어지면 인접한 수가 같거나 오름차 순을 만족하는 수의 갯수를 구해야 한다. 이 문제는 동적 계획법으로 해결이 가능하다. 이전에 풀었떤 10844 쉬운 계단 수 문제와 유사하다. 여기서는.. 더보기
[백준알고리즘] 10844번: 쉬운 계단 수 -Python [백준알고리즘] 10844번: 쉬운 계단 수 -Python https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 이번 문제도 DP 문제이다. 처음에 생각했던 것과 코드로 작성한 것이 쪼끔 개념이 다르긴 한데, 전체적으로는 같다. 우선 계단 수에서 한 자릿수에 대하여 리스트에 저장해 놓았다. 그리고 리스트에 저장되어 있는 값은 현재 해당 인덱스가 마지막 수, 즉 1의 자리 수일 때 가능한 수의 개수이다. 음.. 한 자릿수일 때가 아닌 두 자리 수일 때를 풀이해보면 이해가 될 것 같다. 한 자리가 늘어나게 될 때 1의 자리 수가 0이 되기 위해서는 앞자리가 1일 수밖.. 더보기

728x90