본문 바로가기

Programming [Python]

(411)
#304 백준 파이썬 [5522] 카드 게임 https://www.acmicpc.net/problem/5522 PYTHON CODE answer = 0 for _ in range(5): answer += int(input()) print(answer)
#303 백준 파이썬 [16170] 오늘의 날짜는? https://www.acmicpc.net/problem/16170 PYTHON CODE import datetime now = datetime.datetime.now() + datetime.timedelta(hours=9) #한국시간으로 나오니 수정해준다 print(now.year) print(now.month) print(now.day)
#302 백준 파이썬 [16430] 제리와 톰 https://www.acmicpc.net/problem/16430 PYTHON CODE A, B = map(int, input().split()) print(B-A, B)
#301 백준 파이썬 [15964] 이상한 기호 https://www.acmicpc.net/problem/15964 PYTHON CODE A, B = map(int, input().split()) print((A+B)*(A-B))
#300 백준 파이썬 [2965] 캥거루 세마리 https://www.acmicpc.net/problem/2965 PYTHON CODE A, B, C = map(int, input().split()) print(max(B-A, C-B) - 1)
#299 백준 파이썬 [1100] 하얀 칸 https://www.acmicpc.net/problem/1100 PYTHON CODE chess = [] for _ in range(8): chess.append(list(map(str, list(input())))) answer = 0 for i in range(8): for j in range(8): if (i + j) % 2 == 0: #하얀칸일 경우 if chess[i][j] == 'F': #F있을 경우 answer += 1 print(answer)
#298 백준 파이썬 [12852] 1로 만들기 2 - 다이나믹 프로그래밍 https://www.acmicpc.net/problem/12852 SOLUTION 점화식과 다이나믹 프로그래밍을 이용해푼다. f(x)는 다음과 값 중 최솟값을 가진다. 1) f(x-1) + 1 2) f(x/2) + 1 3) f(x/3) + 1 이 세 함수의 최소 값을 구해주면 된다. 재귀함수를 매번 호출하면 시간복잡도가 굉장히 커지므로 다이나믹 프로그래밍 즉, 리스트를 만들어 값을 매번 저장해주는 것이 속도 향상에 도움이 된다. PYTHON CODE N = int(input()) result = [[0, []] for _ in range(N + 1)] #[최솟값, 경로 리스트] result[1][0] = 0 #최솟값 result[1][1] = [1] #경로를 담을 리스트 for i in range(2,..
#297 백준 파이썬 [11947] 이런 반전이 https://www.acmicpc.net/problem/11947 SOLUTION 자릿수 1자리 중 위 문제를 만족하는 가장 큰 수는 4 * 5 이다. 자릿수 2자리 중 위 문제를 만족하는 가장 큰 수는 49 * 50 이다. 자릿수 3자리 중 위 문제를 만족하는 가장 큰 수는 499 * 500 이다. 자릿수 4자리 중 위 문제를 만족하는 가장 큰 수는 4999 * 5000 이다. 4자리 수의 가장 큰 수는 1000 * 8999부터 시작해서 4999 * 5000으로 갈때 까지 증가하다 이후 감소 추세를 보인다. 따라서 수가 주어지면 자릿수를 도출한 다음 499...99 보다 클 경우 499...99 * 500...00을 출력하고 아니라면 해당 수 * 뒤집은 수를 출력하면 된다. PYTHON CODE T ..