코딩 테스트291 배열 만들기 2 첫번째 코드 해당 범위의 수에서 0과 5으로만 구성되어 있으면, 정답에 포함한다.만약 정답 리스트가 비어있다면 -1을 반환하면 된다! def solution(l, r): answer = [] number = ['0', '5'] for i in range(l, r+1): now = str(i) now_in = True for j in now: if j not in number: now_in = False break if now_in == True: answer.append(i) if answer:.. 2024. 9. 6. 092 고층 빌딩 첫번째 코드 점화식 세우는게 너무 어려운 문제....코드는 책을 참고했는데..내가 이해를 하고 쓴건지 모르고 일단 쓴건지... import sys input = sys.stdin.readline mod = 1000000007 n, l, r = map(int, input().split()) dp= [[[0 for _ in range(101)] for _ in range(101)] for _ in range(101)] dp[1][1][1] = 1 for i in range(2, n+1): for j in range(1, l+1): for k in range(1, r+1): dp[i][j][k] = (dp[i-1][j][k] * (i-2) + (dp[i-1][j][k.. 2024. 9. 5. 091 가장 큰 정사각형 첫번째 코드 dp를 대표하는 문제 종류 중 하나라고 한다.2차원 matrix의 경우에도 점화식에 유의하여 작성하며 방법에 대해 공부하자! 코드는 책을 참고하였다. import sys input = sys.stdin.readline n, m = map(int, input().split()) dp = [[0 for _ in range(1001)] for _ in range(1001)] max = 0 for i in range(n): numbers = list(input()) for j in range(m): dp[i][j] = int(numbers[j]) if dp[i][j] == 1 and j > 0 and i > 0: dp[i][j] = m.. 2024. 9. 5. 090 LCS 2 첫번째 코드 우울해하지 말고!!점화식을 만드는 방법이 이렇게 있구나~ 하면서 배워가기! 코드는 책을 참고했다! import sys input = sys.stdin.readline sys.setrecursionlimit(10000) a = list(input()) a.pop() b = list(input()) b.pop() dp = [[0 for _ in range(len(b) + 1)] for _ in range(len(a) + 1)] path = [] for i in range(1, len(a) + 1): for j in range(1, len(b) + 1): if a[i-1] == b[j-1]: dp[i][j] = dp[i-1][j-1] + 1 .. 2024. 9. 3. 089 연속합 2 첫번쨰 코드 오른쪽부터 시작한 합과 왼쪽부터 시작한 합을 모두 고려해야 하는 문제이다.나도 처음에 단순하게 점화식을 작성했는데, 책에서 명확하게 이렇게 세우면 안된다는 예시였다 ㅎㅎ; 하여 점화식 아이디어와 코드는 책을 참고하였다. import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) left = [0] * n left[0] = a[0] result = left[0] for i in range(1, n): left = max(a[i], left[i-1] + a[i]) result = max(result, left[i]) right = [0] * n right[n-1] = a[n-1].. 2024. 9. 3. [1차] 비밀지도 첫번째 코드 그리디 알고리즘을 이용하여 이진법으로 된 수를 구할 수 있다.원래는 arr1과 arr2를 이용하여 각각의 공백과 #으로 된 배열을 구한 뒤에 통합하려 했으나,계산량이 불필요하게 너무 많아질 것 같아 한번에 계산하였다. def solution(n, arr1, arr2): answer = [] for i in range(n): map = '' for j in range(n-1, -1, -1): if arr1[i] // (2**j) > 0 or arr2[i] // (2**j) > 0: map += '#' arr1[i] = arr1[i] % (2**j) .. 2024. 9. 2. 이전 1 ··· 4 5 6 7 8 9 10 ··· 49 다음 728x90