본문 바로가기

구현/수학380

[구현/수학] 백준 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.
[구현/수학] 백준 9517 아이 러브 크로아티아 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 9517번: 아이 러브 크로아티아 "I love Croatia"는 네델란드의 인기 티비 프로그램 "I love my country"의 포맷 라이센스를 수입해 만든 크로아티아의 티비쇼이다. 이 티비쇼에서 가장 인기있는 게임은 "Happy Birthday"이며, 이 게임에 대한 www.acmicpc.net 2. 문제 풀이 제한 시간은 3분 30초(210초)입니다. 정답을 맞추면 옆 사람에게 폭탄이 넘어가며, 문제를 푸는 데에 얼마나 걸렸는지 입력으로 주어집니다. 폭탄이 누구에게서 터졌는지를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline k = int(input()) n = int(input()) time = 0 .. 2023. 2. 14.
[구현/수학] 백준 6321 IBM 빼기 1 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 6321번: IBM 빼기 1 첫째 줄에 컴퓨터의 개수 n이 주어진다. 다음 줄부터 n개의 줄에는 컴퓨터의 이름이 주어진다. 컴퓨터의 이름은 최대 50글자이며, 알파벳 대문자로만 이루어져 있다. www.acmicpc.net 2. 문제 풀이 알파벳을 한 자리씩 미는 문제입니다. 3. 코드 import sys input = sys.stdin.readline n = int(input()) for x in range(1, n + 1): data = input().rstrip() result = '' for i in range(len(data)): value = ord(data[i]) + 1 if value > 90: value = 65 result += chr(va.. 2023. 2. 13.
[수학/브루트포스] 백준 4690 완전 세제곱 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 4690번: 완전 세제곱 페르마의 마지막 정리는, a, b, c가 0이 아닌 정수이고, n이 2보다 큰 자연수 일 때, an = bn + cn을 만족하는 자연수 a, b, c가 존재하지 않는다는 정리이다. 이 정리는 아직 증명되지 않았다. 하지만, 완 www.acmicpc.net 2. 문제 풀이 a^3 = b^3 + c^3 + d^3 위 식을 만족하는 자연수 쌍을 찾는 문제입니다. (단 a 2023. 2. 12.
[구현/수학] 백준 5217 쌍의 합 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 5217번: 쌍의 합 1보다 크거나 같고 12보다 작거나 같은 자연수 n이 주어졌을 때, 합이 n이 되는 두 자연수의 쌍을 찾는 프로그램을 작성하시오. 예를 들어, 5가 주어진 경우 가능한 쌍은 1,4와 2,3이 있다. 두 수는 www.acmicpc.net 2. 문제 풀이 서로 다른 두 수의 합으로 n을 만드는 경우를 출력합니다. 3. 코드 import sys input = sys.stdin.readline for _ in range(int(input())): n = int(input()) start = 1 print("Pairs for %d:" % n, end=' ') for k in range((n - 1) // 2): if k != 0: print('.. 2023. 2. 11.
[구현/수학] 백준 3029 경고 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 3029번: 경고 첫째 줄에 현재 시간이 hh:mm:ss 형식으로 주어진다. (시, 분, 초) hh는 0보다 크거나 같고, 23보다 작거나 같으며, 분과 초는 0보다 크거나 같고, 59보다 작거나 같다. 둘째 줄에는 나트륨을 던질 시간 www.acmicpc.net 2. 문제 풀이 현재 시간과 나트륨 폭탄이 터지는 시간이 주어집니다. 나트륨 폭탄이 몇 시간 뒤에 터지는지를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline h1, m1, s1 = map(int, input().split(':')) h2, m2, s2 = map(int, input().split(':')) t1 = h1*60*60 + m1*60 + s.. 2023. 2. 10.