반응형

백준 알고리즘 24

[파이썬, Python] 백준 1966: 프린터 큐

문제 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 코드 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): cnt = 0 n,m = map(int,input().split()) paper = list(map(int,input().split())) idx = [i for i in range(len(paper))] target = idx[m] while len(pape..

[파이썬, Python] 백준 11047: 동전 0

문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 import sys input = sys.stdin.readline n,k = map(int,input().split()) coin = [] ans = 0 for _ in range(n): coin.append(int(input())) coin.sort(reverse = True) for i in coin: if k >= ..

[파이썬, Python] 백준 11022: A+B - 8

문제 https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 코드 T = int(input()) for i in range(T): a, b = map(int, input().split()) print("Case #%s: %d + %d = %d"%(i+1, a, b, a+b)) 설명 앞의 문제를 해결했다면, 크게 어려움은 없었을 것 같다! 출력 형식에 유의해서 출력하도록 하자

[파이썬, Python] 백준 10590: A+B - 3

문제 https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 T = int(input()) for i in range(T): a, b = map(int, input().split()) print(a + b) 설명 앞서 반복문을 이해했다면 크게 어려움은 없는 문제이다. 다른 점이 있다면 반복문의 횟수를 변수를 통해 지정해 주었다는 것인데, (1,10) 과 같이 시작 지점이 따로 정해져 있지 않다면, 위의 코드와 같은 형식에선 T의 수만큼 반복하게 된다. T의 수만큼 a,b를 입력받고 각 수를 더한 값을 출력하면 되는 간단한 문제였다.

[파이썬, Python] 백준 2480: 주사위 세개

문제 https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 코드 a, b, c = map(int, input().split()) if a == b == c: print(10000 + int(a)*1000) elif a==b or a==c: print(1000 + int(a)*100) elif b==c: print(1000 + int(b)*100) else: if a > b and a > c: print(int(a)*100) elif b..

[파이썬, Python] 백준 2884: 알람 시계

문제 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 코드 H, M = map(int, input().split()) if H != 0: if M >= 45: print(H, M - 45) else: print(H-1, M + 15) else: if M >= 45: print(H , M - 45) else: print(23, M + 15) 설명 간단해 보이는 문제지만, 조금 생각할 부분이 있다. 우선 45분을 빼는 문제라서, 'M'에 해당하는 '분'이 ..

[파이썬, Python] 백준 14681: 사분면 고르기

문제 https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 코드 x = int(input()) y = int(input()) if x > 0 and y > 0: print("1") elif x > 0 and y < 0: print("4") elif x < 0 and y < 0: print("3") else: print("2") 설명 조건문을 활용한 문제이다. 각 조건에 x와 y에 대한 조건이 들어가는데, 사분면의 성질에 따라 조건을 입력해주면 되는 간단한 문제이다.

[파이썬, Python] 백준 2753: 윤년

문제 https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 코드 a= int(input()) if (a%4 == 0) and ((a%100 != 0) or (a%400 == 0)): print("1") else: print("0") 설명 조건문의 if 부분에 조건이 여러 개 들어갈 수 있다는 것을 알려주는 문제이다. 'and'로 동시에 만족해야하는 조건을 설정할 수 있고, 'or'로 여러 가지 조건 중 1개만 만족해도 되는 조건을 설정할 수..

[파이썬, Python] 백준 9498: 시험 성적

문제 https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 a= int(input()) if 100>= a >= 90: print("A") elif 90 > a >= 80: print("B") elif 80 > a >= 70: print("C") elif 70 > a >= 60: print("D") else: print("F") 설명 앞서 말했던 if 와 elif 그리고 else를 통한 범위 출력 문제다. 간단하게 범위만 나눠주면 별 문제 없이 풀 수 있다.

[파이썬, Python] 백준 1330: 두 수 비교하기

문제 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 코드 a, b = map(int, (input().split())) if a > b: print(">") elif a < b: print("")' 와 같이 조건이 참(True)이라면, 실행하게 될 동작으로 나뉜다. 조건이 하나만 있는 경우도 있겠지만 그렇지 않은 경우에는, 'elif'를 사용하는데 이는 'else if'를 줄인 것이다. elif의 개수에는 제한이 없고 얼마든지 사용이 가능하다. 마지막으로 'else'를 사용하는데, 이는 위의 모든 조건(if, elif)가 거짓일 때, 실행하게 된다.

반응형