cs 매일 한걸음씩
본문 바로가기
  • 매일 한걸음씩
  • 매일 한걸음씩

전체 글100

[파이썬] 백준 9252 : LCS 2 https://www.acmicpc.net/problem/9252 A = list(input()) B = list(input()) dp = [[ [0,''] for _ in range(len(A)+1)] for _ in range(len(B)+1)] # print(dp) for i in range(len(A)+1): for j in range(len(B)+1): if i==0: pass elif j==0: pass else: if A[i-1]==B[j-1]: dp[i][j][0] = dp[i-1][j-1][0] + 1 # print( dp[i-1][j-1][1]) dp[i][j][1] = dp[i-1][j-1][1]+(A[i-1]) else: if dp[i-1][j][0] 2020. 2. 13.
[파이썬] 백준 14002 : 가장 긴 증가하는 부분 수열 4 https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. www.acmicpc.net 아직 코드가 매우 지저분하다.. 그래도 어찌저찌 여러번 시도끝에 성공.. 피드백은 언제나 환영입니다 :) import sys N = int(input()) seq = list(map(int,input().split())) result = [] dp = [[0,i] for i in range(N)].. 2020. 2. 13.
[파이썬] 백준 12852 : 1로 만들기 2 https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 숫자 N이 주어졌을 때 세가지 연산을 해가며 1을 만드는 카운트를 출력하고 거쳐온 수들 또한 출력하는 문제이다. 맨 처음에 그냥 리스트에 계속 넣어서 리스트에 1이 있으면 출력하는 식으로 했지만 시간이 오래걸려 다른분이 푼 방식을 사용했다. https://claude-u.tistory.com/349 #298 백준 파이썬 [12852] 1로 만들기 2 - 다이나믹 프로그래밍 https://www.acmicpc.net/problem/12852 SOLUTION 점화식과 다이나믹 프로그래밍을 이용해푼다. f(.. 2020. 2. 12.
[파이썬] 백준 17404 : RGB거리 2 https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, 첫 집과 마지막 집도 이웃이다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 오늘 풀어볼 문제는 저번 동적계획법에 있던 RGB거리문제에 이어 RGB거리2이다. 저번과 차이가 있다면 첫번째 집과 마지막 집이 이웃이라는점. 코드를 돌려 정확하게 푼 것 같은데 백준에서는 계.. 2020. 2. 12.
728x90