본문 바로가기

반응형

분류 전체보기

(128)
[BEAKJOON] 백준 1932번 : 정수 삼각형 - 파이썬 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 이 문제는 DP로 푸는 문제이다. 해당 방법의 프로세스는 패턴을 찾을 수 있다. 양 사이드의 값은 위에 더할만한 값은 하나이고, 나머지는 그렇지 않기 때문에 가장 큰 값을 더해주면 된다. # [0][0] = 7 # [1][0] = 7 + 3, [1][1] = 7+8 # [2][0] = 7+3+8, [2][1] = 7+3+1, 해결코드 import sys num = int(sys.stdin.readline()) input_list = list() for i in rang..
[BEAKJOON] 백준 11656번 : 접미사 배열 - 파이썬 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문제 먼저 하나씩 접미사로 만든 list의 값을 만들어야 된다고 생각했다. 시행착오 첫번째 접근은 bisect 을 사용하여 배열 이진 분할을 사용해서 진행할 수 있을까 생각을 했는데, 생각보다 제대로된 값이 나오지 않아서 bisect.bisect_left 함수에 대한 것을 알아보았다. def bisect_left(a, x, lo=0, hi=None): """Return the index where to insert item x in list a, assuming a is so..
[BEAKJOON] 백준 16194번 : 카드 구매하기 2 - 파이썬 카드 구매하기와 정말 비슷하다. https://na0-0.tistory.com/126 [BEAKJOON] 백준 11052번 : 카드구매하기 - 파이썬 문제 : https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ P na0-0.tistory.com 문제 https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ ..
[BEAKJOON] 백준 11052번 : 카드구매하기 - 파이썬 문제 : https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 해결 반복문을 통해 각 카드 개수에 지불하는 최대 금액을 구해야 한다. 각각의 카드 개수를 지불하는 최대 금액과 이전 카드 지불한 최대 금액에서 + 현재 카드팩 가격을 비교하면 된다. 예제 입력 1을 보았을 때, 4개를 구매했을때 가장 큰 값은 5+5 이다. => dp[1] 은 num_list[1] 과 동일하기에 1일 것이다 => dp[2]는 dp[1] + num_list[1] or num..
[BEAKJOON] 백준 11053번 : 가장 긴 증가하는 부분 수열 - 파이썬 문제 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 설명 STEP 1 ] 변수 선언 DP 테이블을 사용해서, 모두 1로 초기화해준다. STEP 2 ] 주어진 숫자의 배열에서 인덱스를 하나씩 늘려서 LIS(Longest Increasing Subsequence) 를 찾는다. 인덱스는 1부터 N까지 진행한다. ( 0번째 인덱스의 값은 길이가 무조건 1이다.) ST..
[BEAKJOON] 백준 2193번 : 이친수 - 파이썬 문제 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제 설명 쉽게 발견할 수 있는 특정한 패턴이 있는데, 뒤의 자리가 1일 때에는 0만 올수 있고, 뒤의 자리가 0일 때에는 1, 0 둘다 올 수 있다. 그러면 처음에 [0, 0]의 리스트로 num의 개수만큼 초기화를 하고, 진행해준다. # n = 1 : 1, 1 # n = 2 : 1, 10 # n = 3 : 2, 100, 101 # n = 4 : 3, 1000, 1010, 1001..
[BEAKJOON] 백준 10844번 : 쉬운 계단 수 - 파이썬 문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제해설 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 먼저 값이 1일때를 보자 # 1 -> 9: 1, 2, 3, 4, 5, 6, 7, 8, 9 n의 값이 2일때는 # 2 -> 17: 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98 n의 값이 3일때는 # 3 -> : 123..
[BEAKJOON] 백준 15990번 : 1, 2, 3 더하기 5 https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 3가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 단, 같은 수를 두 번 이상 연속해서 사용하면 안 된다. 1+2+1 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 아래와 같이 몇개일지 확인을 해주었다. # 1 - 1 # 2 - 2 : 2 # 3 - 3 : 1+2, 2+1, 3 # 4 - 3 : 1+3..

반응형