백준 - 2869 (python) 처음엔 그냥 입력값에 대해 반복문을 돌렸다 그렇게 하면 값이 낮은 예제 1, 2 번에 대해서는 잘 나오지만 값이 큰 3번 입력에 대한 출력을 뽑는데는 시간이 엄청 오래걸리게 된다 #처음 풀이 A, B, V = map(int, input().split()) count = 1 while V >= 0: V -= A if V 백준/일반 수학 1 2024.02.20
백준 - 2292 (python) 1 6 7 12 19 18 37 24 61 각 방이 6의 배수만큼 증가하는 규칙을 찾는 문제 N = int(input()) init = 1 i = 1 while True: if N 백준/일반 수학 1 2024.02.16
백준 - 2903 (python) 규칙만 찾으면 되는 간단한 문제 2 x 2 = 4 3 x 3 = 9 5 x 5 = 25 9 x 9 = 81 17 x 17 = 289 33 x 33 = 1089 한 변에 늘어나는 점의 수가 이전 점의 수의 -1 만큼 늘어나는걸 확인 N = int(input()) clc = 3 for i in range(N - 1): clc += clc - 1 print(clc * clc) 백준/일반 수학 1 2024.02.15
백준 - 2720 (python) 아주 기초적인 거스름돈 구하기 알고리즘 for i in range(int(input())): C = int(input()) print(int(C / 25), end=" ") C = C % 25 print(int(C / 10), end=" ") C = C % 10 print(int(C / 5), end=" ") C = C % 5 print(int(C / 1)) 백준/일반 수학 1 2024.02.14
백준 - 11005 (python) 나누기와 나머지를 사용하면 쉽게 풀린다. 마지막 문자열을 뒤집는걸 잊어버리면 안됨 N, B = map(int, input().split()) result = "" while N > 0: if N % B >= 10: result += str(chr(N % B + 55)) # 아스키코드 변환 else: result += str(N % B) N = int(N / B) print(result[::-1]) # 문자열 뒤집기 백준/일반 수학 1 2024.02.14
백준 - 2745 (python) 진법의 개념만 알면 쉽게 풀 수 있다 N, B = map(str, input().split()) listN = list(N) result = 0 for i in range(len(listN)): if listN[i] in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": # 문자일경우 result += (ord(listN[i]) - 55) * (int(B) ** (len(listN) - (i + 1))) # 아스키코드로 변환 else: #숫자일경우 result += int(listN[i]) * (int(B) ** (len(listN) - (i + 1))) print(result) 백준/일반 수학 1 2024.02.14