본문 바로가기

Algorithm705

[구현/수학] 백준 9493 길면 기차, 기차는 빨라, 빠른 것은 비행기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 9493번: 길면 기차, 기차는 빨라, 빠른 것은 비행기 한 줄에 테스트 케이스가 하나씩 주어진다. 각 테스트 케이스는 세 개의 정수 M(1 ≤ M ≤ 10,000), A 그리고 B(1 ≤ A < B ≤ 1000)로 이루어져 있다. 정수는 공백으로 구분되어 있다. 마지막 테스트 케이 www.acmicpc.net 2. 문제 풀이 거리 M을 이동했을 때, 비행기와 기차의 속도 차이에 의해 발생하는 시간 차이를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline while True: M, A, B = map(int, input().split()) if M == A == B == 0: break t = round((M/A.. 2023. 2. 23.
[구현/수학] 백준 9501 꿍의 우주여행 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 9501번: 꿍의 우주여행 꿍은 우주여행을 하고 싶어져서 우주여행을 계획하기 시작했다. 몇 가지를 고려해본 결과 우주여행에는 우주선의 연료와 목적지까지의 도착시간이 가장 큰 영향을 미치는것으로 파악됐다. 꿍 www.acmicpc.net 2. 문제 풀이 최고속도로 목적지까지 갈 때, 갈 수 있는 우주선의 개수를 구합니다. 3. 코드 import sys input = sys.stdin.readline for _ in range(int(input())): N, D = map(int, input().split()) cnt = 0 for i in range(N): v, f, c = map(int, input().split()) if v * f/c >= D: cnt .. 2023. 2. 22.
[구현/수학] 백준 5612 터널의 입구와 출구 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5612번: 터널의 입구와 출구 첫째 줄에 조사한 시간 n이 주어진다. 둘째 줄에는 조사를 시작할 때, 터널 안에 들어있는 차량의 수 m이 주어진다. 다음 n개 줄의 i번째 줄(i = 1 ~ n)의 정보는 조사를 시작한지 (i-1)분이 경과한 시 www.acmicpc.net 2. 문제 풀이 터널로 지나가는 차량 수가 주어집니다. 터널에 가장 많은 차량이 머무를 때의 차량 수를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline n = int(input()) tmp = [] tmp.append(int(input())) for i in range(n): a, b = map(int, input().split()) tmp.. 2023. 2. 21.
[구현/수학] 백준 2721 삼각수의 합 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2721번: 삼각수의 합 n번째 삼각수, T(n)은 1부터 n까지의 합이다. T(n) = 1 + ... + n. 이것은 삼각형 모양으로 표현할 수 있다. 아래 그림은 T(4)를 나타낸 것이다. 다음과 같은 식을 통해 가중치를 부여한 삼각수의 합을 구 www.acmicpc.net 2. 문제 풀이 W(n) = Sum[k=1..n; k*T(k+1)] T(n)은 1부터 n까지의 합입니다. 3. 코드 import sys input = sys.stdin.readline for _ in range(int(input())): n = int(input()) res = sum(k*sum(range(k+2)) for k in range(1, n+1)) print(res) 1부.. 2023. 2. 20.
[구현/수학] 백준 1703 생장점 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1703번: 생장점 branchorama 나무는 특이한 규칙을 가지고 성장합니다. 어린 branchorama 초목은 하나의 잎을 꼭대기에 가진 가는 묘목이며, 그 잎에는 생장점이 있습니다. 성장하는 계절 동안 나무의 생장점들은 여 www.acmicpc.net 2. 문제 풀이 가지의 수(splitting factor)와 가지치기한 수(p)가 주어집니다. 가지당 1개씩 나뭇잎이 붙어있다고 가정하므로, 가지의 수가 곧 나뭇잎의 수입니다. 이를 이용하여 나뭇잎의 수를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline while True: lst = list(map(int, input().split())) if lst[0.. 2023. 2. 19.
[구현/수학] 백준 5613 계산기 프로그램 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5613번: 계산기 프로그램 입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출 www.acmicpc.net 2. 문제 풀이 사칙연산을 할 수 있는 계산기 프로그램을 만듭니다. 3. 코드 res = int(input()) while True: op = input() if op == '=': break n = int(input()) if op == '+': res += n; elif op == '-': res -= n; elif op == '*': res *= n; elif op == '/': res //=.. 2023. 2. 18.
[구현/수학] 백준 15917 노솔브 방지문제야!! - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 2. 문제 풀이 어떤 수를 2의 거듭제곱 꼴로 나타낼 수 있는지를 판별합니다. 3. 코드 # 입력 Q = int(input()) for _ in range(Q): a = bin(int(input()))[2:] a_sum = sum(list(map(int, a))) if a_sum == 1: print(1) else: print(0) 단순히 2의 제곱인지 판별하면 시간초과가 납니다. 이진수를.. 2023. 2. 17.
[구현/수학] 백준 4470 줄번호 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 4470번: 줄번호 텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오. www.acmicpc.net 2. 문제 풀이 주어지는 텍스트에 인덱스만 달아주면 됩니다. 3. 코드 import sys input = sys.stdin.readline n = int(input()) for i in range(1, n+1): sentence = input().rstrip() print(f"{i}. {sentence}") f-string을 이용하면 쉽게 구현할 수 있습니다. 2023. 2. 16.
[구현/수학] 백준 7510 고급 수학 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) https://www.acmicpc.net/problem/7510 7510번: 고급 수학 각 테스트 케이스마다 "Scenario #i:"를 출력한다. i는 테스트 케이스 번호이며, 1부터 시작한다. 그 다음 줄에는 입력으로 주어진 삼각형이 직각 삼각형인 경우에는 "yes", 아닌 경우에는 "no"를 출력 www.acmicpc.net 2. 문제 풀이 직각삼각형인지를 판별하는 문제입니다. 3. 코드 import sys input = sys.stdin.readline for i in range(int(input())): lst = sorted(map(int, input().split())) if lst[0]**2 + lst[1]**2 == lst[2]**2: p.. 2023. 2. 15.