백준 19

[python/2884]알람 시계

www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net if문을 이용하여 조건에 맞게 출력하는 문제입니다. 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 코드 # 코드 1 a, b = map(int, input().split()) if b>44: b = b-45 elif b =1: a = a-1 b = b+15 else: a = 23 b = b+15 print(a, b) # 코드 2 from sys import stdin a, b = map(int, stdin.read..

알고리즘/백준 2020.11.20

[python/2753]윤년

www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net if문을 이용하여 조건에 맞게 출력하는 문제입니다. 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 코드 # 코드 1 a = int(input()) if a%4 ==0 and a%100 != 0 or a%400 == 0: print(1) else: print(0) # 코드 2 from sys import stdin a - stdin.readline() print(1 if a%4 ==0 and a%1..

알고리즘/백준 2020.11.19

[python/9498]시험 성적

www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net if문을 이용하여 조건에 맞게 출력하는 문제입니다. 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 코드 # 초기 코드 a = int(input()) if a>=90: print('A') elif a>=80: print('B') elif a>=70: print('C') elif a>=60: print('D') else: print('F') # 최종 코드 a = int(input()) print('A' if a>=90 else('B' ..

알고리즘/백준 2020.11.18

[python/1330] 두 수 비교하기

www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net if문을 이용하여 조건에 맞게 출력하는 문제입니다. 코드를 보시려면 더보기를 클릭하시면 됩니다. 더보기 코드 # 초기 코드 a, b = input().split(" ") a = int(a) b = int(b) if a>b: print('>') elif ab: print('>') elif a b else ('

알고리즘/백준 2020.11.17

[python/11054]가장 긴 바이토닉 부분 수열

https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 이 문제는 '가장 긴 증가하는 부분 수열' 문제를 응용한 것입니다. https://onlab94.tistory.com/54 [python/11053]가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10..

알고리즘/백준 2020.05.25

[python/11053]가장 긴 증가하는 부분 수열

https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. www.acmicpc.net 이 문제는 최장 증가 부분 수열(LIS : Longest Increasing Subsequence) 문제로 동적 계획법으로 풀 수 있는 문제입니다. 코드를 보시려면 더보기를 누르시면 됩니다. 더보기 전체 코드 # 백준 11053 가장 긴 증가하는 부분 수열 def solve(N, LIS): dp = ..

알고리즘/백준 2020.04.29

[python/2156]포도주 시식

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고 www.acmicpc.net 이 문제는 점화식을 이용하여 풀면 되는 문제입니다. 문제 풀이를 보시려면 더보기를 클릭하시면 됩니다. 더보기 포도주 시식 이 문제에서..

알고리즘/백준 2020.04.27

[python/10844]쉬운 계단 수

https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 예시에서 입력이 1이면 즉, N이 1일 경우는 출력이 9이다. 다른 예시를 살펴보면 입력이 2이면 출력이 17이다. 길이가 2인 계단 수는 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98이다. 이 개수를 1,000,000,000으로 나누면 17이 됩니다. 우선 숫자를 가지고 자릿수를 늘려가면서 가능한 계단 수를 확인해 보겠습니다. 위의 그림을 표로 정리해보면 아래와 같습니다. 숫자|단계 1 2 3 4 5 6 0 1 1 2 3 6 ... 1 ..

알고리즘/백준 2020.04.23

[python/1463]1로 만들기

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 정수 X를 10이라고 가정하고 위의 3가지 규칙을 적용하면 아래 그림과 같습니다. 이것을 단계별로 나누면 3단계에서 1을 처음 볼 수 있습니다. X를 N이라고 가정하고 단계를 리스트에 저장하는 방법은 아래와 같습니다. lst = [] for i in N: # 규칙 3 lst.append(i - 1) # 규칙 1 if i % 3 == 0: lst.append(i // 3) # 규칙 2 if i % 2 == 0: lst.append(i // 2) 이 리스트에 중복 값이 있을 수 있기 때문에 중복을 제거해 주어야 합..

알고리즘/백준 2020.04.21

[python/2579]계단 오르기

https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 www.acmicpc.net 문제 풀이를 보시려면 더보기를 클릭하시면 됩니다. 더보기 계단 오르기 계단을 오르는 규칙에 유의하면서 점화식을 만들어 주면 됩니다. 규칙 1. 계단은 1 ..

알고리즘/백준 2020.04.18
728x90