본문 바로가기

백준 알고리즘108

파이썬) 백준 알고리즘 | 9935번 : 문자열 폭발 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 풀이 a, b 문자열에서 마지막 문자만을 계속 체크해준다면 풀 수 있다. from collections import deque a = input() b = input() q = deque() for i in range(len(a)): q.append(a[i]) if q[-1] == b[-1] and len(q) >= len(b): if ''.join([q[-k] for k in ra.. 2022. 7. 27.
파이썬) 백준 알고리즘 | 11440번 : 피보나치 수의 제곱의 합 https://www.acmicpc.net/problem/11440 11440번: 피보나치 수의 제곱의 합 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 $$ F_{k+1} = F_k + F_{k-1} $$ $$ F_k = F_{k+1} - F_{k-1} $$ $$ F_{k} ^ {2} = F_kF_{k+1} - F_{k-1}F_k $$ $$ F_{1} ^ {2} = 1 = F_1F_2 - F_0F_1 $$ $$ F_{2} ^ {2} = F_2F_3 - F_1F_2 $$ $$ F_{3} ^ {2} = F_3F_4 - F_2F_3 $$ $$ F_{4} ^ {2} = F_4F_5 - F_3F_4 $$ $$ F_{n.. 2022. 7. 26.
파이썬) 백준 알고리즘 | 10327번 : 피보나치 문제해결전략 https://www.acmicpc.net/problem/10327 10327번: 피보나치 문제해결전략 각 테스트 케이스마다 한 줄에 두 자연수 a, b를 출력한다. (0 2022. 7. 25.
파이썬) 백준 알고리즘 | 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.