본문 바로가기

분류 전체보기142

파이썬) 백준 알고리즘 | 12904번 : A와 B https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 풀이 처음에는 s에서 t로 바꾸는 방법을 생각해봤었는데 그렇게 접근할 경우 경우의 수가 2^n으로 너무 많아졌다. 그래서 t에서 s로 접근하는 방법을 생각하였다. while문 안에서 1. 만약 t의 마지막 글자가 A라면 t = t[:-1]로 두어서 A를 지운다. 2. 만약 t의 마지막 글자가 B라면 t = t[:-1][::-1]로 두어서 B를 지우고 반대로 바.. 2022. 7. 25.
파이썬) 백준 알고리즘 | 9996번 : 한국이 그리울 땐 서버에 접속하지 n = int(input()) patten = input() file = [] for i in range(n): file.append(input()) a = patten.split('*') for i in range(n): if file[i][0:len(a[0])] == a[0] and file[i][len(file[i])-len(a[1]):len(file[i])] ==a[1]: if len(a[0]) 2022. 7. 22.
파이썬) 백준 알고리즘 | 11442번 : 홀수번째 피보나치 수의 합 https://www.acmicpc.net/problem/11442 11442번: 홀수번째 피보나치 수의 합 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 일단 f(n) - f(n-2) = f(n-1)이란 수식을 이용하면 $$ f(2) - f(0) = f(1) $$ $$ f(3) - f(1) = f(2) $$ $$ f(4) - f(2) = f(3) $$ $$ f(5) - f(3) = f(4) $$ $$ ... $$ $$ f(n) - f(n-2) = f(n-1) $$ 위 식을 다 더하게 되면 $$ f(n+1) = f(1) + \sum_{k=1}^{n-1} f(k) $$ 위 식을 유도할 수 있다. 그리고 n = 2.. 2022. 7. 22.
파이썬) 백준 알고리즘 | 1629번 : 곱셈 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 풀이 파이썬의 pow함수를 이용하면 간단하게 구할 수 있습니다. pow(a, b, n)은 a^b을 n으로 나눈 나머지인데 효율적으로 계산하도록 구현했다고 합니다. a, b, c = map(int, input().split()) print(pow(a, b, c)) 2022. 7. 10.