본문 바로가기

728x90

만들기

[백준알고리즘] 1759번: 암호 만들기 -Python [백준알고리즘] 1759번: 암호 만들기 -Python https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net itertools 모듈의 combinations 메서드를 사용해서 쉽게 주어진 알파벳의 조합 쌍을 만들 수 있었다. combinations를 사용하지 않는 경우 조합을 만들기 위해서는 DFS방식처럼 하나씩 조합의 길이만큼 원소를 추가해 나가면 된다. combinations에 넣기 전에 정렬해줌으로써 정렬된 조합의 결과들은 모두 각각 정렬된 상태로 .. 더보기
[백준알고리즘] 2146번: 다리 만들기 -Python [백준알고리즘] 2146번: 다리 만들기 -Python https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다는 생각을 하게 되었다. 그래서 그는, 생색내는 식으로 한 섬과 다른 섬을 잇는 다리 하나만을 만들기로 하였고, 그 또한 다리를 가장 짧게 하여 돈을 아끼려 하였다. 이 나라는 N×N크기의 이차원 평면상에 존재한다. 이 나라는 여러 섬으로 이루어져 있으며, 섬이란 동서남북 www.acmicpc.net 와;;; 너무 어려웠다 ㅠㅠㅠ 문제를 푸는 방법은 그래도 찾았는데.. 계속 메.. 더보기
[백준알고리즘] 1463번: 1로 만들기 -Python [백준알고리즘] 1463번: 1로 만들기 -Python https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 동적 계획법(DP)문제이다. 이제 이런 거에 연연하면 안 될 것 같은 게.... DP 문제임을 알게 되니까 당연히 케이스를 나눠서 해야지! 재귀를 부르고 Top-Down 형태로 할거야! 이런 식으로 생각이 들게 된다. 그런데 이 문제는 이런 방식으로 풀었더니 안됐다... 그러고 보니 -1이 자꾸 거슬렸다. -1 때문에 결국에는 1부터 N까지 모든 수의 최소 연산 수를 계산하기 때문이다. 그러다 보니 초과가 뜬것이라 생각하고 Bottom-Up 형태로 1부터 .. 더보기

728x90