
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 드디어 마음속 큰 짐인 동적계획법 문제에 진입했다. 오랜만이지만, 다행히 쉽게 풀 수 있는 문제였다. 코드 import sys as s n = int(s.stdin.readline()) for _ in range(n): array=[[i for i in range(1,15)]] k = int(input()) n = int(input()) for i in range(1,k+1): array2=[] for j in range(1,15): array2.append(sum(array[i-1][0:j])) array.append(array2) print(array[k][n-1]) 큰 설명이 필요없다.

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 치킨이다. 2016 서울대학교 프로그래밍 경시대회 A번 문제이다. 풀다가 37%에서 시간초과가 계속 터졌다. 이런저런 모든 시도들을 다 해봤지만 시간초과 문제가 해결되지 않아 타인의 블로그를 찾아봤다. 나랑 크게 다를 바가 없었다. 그래서 타인의 코드를 제출했더니 웬걸. 12 퍼에서 시간초과가 난다. 단 한 코드도 정답판정을 받지 못했다. 따라서 내 코드가 가장 %를 높게 받았기에 일단 포스팅한다. import sys as s n = int(s.stdin.readline()) for _ in range(n): array = list(map(int,s.stdin.readline().split())) a = array[..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 재귀함수 진짜 쉽지 않다. 개념은 쉬운데, 문제를 해결하기 위한 패턴을 찾아내는 게 쉽지 않다. 하.. 일단 코드부터 보자 코드 def can(k): a = k//3 if k == 1 : return ['*'] line = can(a) array = [] for i in line: array.append(i*3) for i in line: array.append(i+' '*a+i) for i in line: array.append(i*3) return array while True: try : n = int(input()) print('\n'.join(can(n))) except: break 출처 : https://..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 처음에 문제를 보고, 배열을 만들어서 1, 0으로 -를 출력하려 생각했었다. 근데 그 방법으로는 우측 부분 해결에 문제가 있어 결국 의견을 빌렸다. 코드 def can(k): a = k//3 if k == 1 : return "-" else: left = can(a) center = " " * a return left + center + left while True: try : n = int(input()) ll = can(3**n) print(ll) except: break 출처 : https://wikidocs.net/206410 02. 칸토어 집합[백준 4779] # 칸토어 집합(4779) 문제 출처 : [칸토..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 기존에 풀었던 n과 m 4번 코드에서 조금의 변형을 주었다. 코드 n, m = map(int,input().split()) array = list(map(int,input().split())) array.sort() array2=[] def f(k): if len(array2) == m : print(' '.join(map(str,array2))) return for i in array: if i in array2: continue else: array2.append(i) f(k+1) array2.pop() f(0) 조건문으로, 이미 사용된 값이 있으면 생략하게 끔 구현했다. 하지만 첫 시도 때 틀렸었는데, 배열 입..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 사실상 필요한 코드는 문제에 다 있다. 우리가 해야 할 일은 출력형태를 맞게 바꿔주는 것이다. 코드 def recursion(s, l, r): global n n += 1 if l >= r: return 1 elif s[l] != s[r]: return 0 else: return recursion(s, l+1, r-1) def isPalindrome(s): return recursion(s, 0, len(s)-1) n = int(input()) for _ in range(n): n=0 print(isPalindrome(input()),n) 위 코드에서 탈출조건이 있다. if와 elif가 탈출절이고 else 부분이 재..

포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 문제를 보자. 코드 n, m = map(int,input().split()) array = [] def f(k): if len(array) == m : print(' '.join(map(str,array))) return for i in range(k,n+1): array.append(i) f(i) array.pop() f(1) 일단은.. 재귀함수코드를 보고 직관적으로 이해하기는 힘든 상태다. 많은 반복을 거치며 익숙해지자.
- Total
- Today
- Yesterday
- samron
- 김영한
- samron3
- static
- Los
- 김영한 실전 자바 중급
- 코딩테스트
- 백준 피보나치 수열
- lord of sql
- 코딩테스트 준비
- 프로그래머스
- 백준 피보나치
- los 15단계
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 김영한 실전 자바 기초
- ys.k
- 상품을 구매한 회원 비율 구하기 파이썬
- zixem
- 김영한 실전 자바 기본
- spring
- 기술스택
- 자바
- 상속
- 프로그래머스 상품을 구매한 회원 비율 구하기
- java
- los 15
- 백준
- webhacking.kr
- extends
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |