728x90
반응형

Algorithm/Math 3

[Baekjoon 9375 / Python / 실버3] 패션왕 신해빈

수학, 조합론, 해시 테이블 문제이다.문제 자체는 단순하고 금방 해결할 수 있을 것 같지만 나에겐 의외로 힘들었다. 수학을 잘 하는 사람이라면 금방 풀 것 같다. # 수학, 조합론, 해시 테이블import sysinput = sys.stdin.readline# 테스트 케이스 개수만큼 반복N = int(input())for _ in range(N):    n = int(input()) # 의상 개수    clothes = {}    # 의상 입력받기, 의상 이름은 필요가 없음    for _ in range(n):        _, category = input().split()        clothes[category] = clothes.get(category, 0) + 1 # 의상 종류 증가시키기  ..

Algorithm/Math 2024.10.01

[Baekjoon 1629 / python / 실버1] 곱셈

def dac(a, b, c): # a^b % c if b == 1: return a % c elif b % 2 == 0: # b가 짝수일 때 return (dac(a, b//2, c)**2) % c else: return ((dac(a, b//2, c)**2)*a) % c a, b, c = map(int, input().split()) print(dac(a, b, c)) 분할 정복 알고리즘이 사용되며, (a ^ b) % c 의 결과를 출력하기만 하면 되는 문제이다. 그러나 주어지는 입력값이 int의 최대값인 21억 정도로 매우매우 크다. 시간 제한도 0.5초로 매우 짧기 때문에 일반적인 연산으로는 시간 초과가 뜬다. 때문에 수학 공식을 이용하여 작은 단위로 분할하여 연산 횟수를 줄여서 계산해야 한다. ..

Algorithm/Math 2024.03.27
728x90
반응형