1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net Contents * 일반 풀이와 숏코딩 풀이 ## 일반 풀이 def fib(N): zeros=[1,0,1] ones=[0,1,1] if N >= 3: for i in range(2,N): zeros.append(zeros[i-1] + zeros[i]) ones.append(ones[i-1] + ones[i]) print(f"{zeros[N]} {ones[N]}") T = int(input()) for _ in range(T): N = int(input()) fib(N) ## 숏코딩 풀이 T = int(input()) for _ in range(T): N = ..
1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net Contents * 일반 풀이와 숏 코딩 풀이 코드 ## 일반 풀이 board = input() # 문자열 입력받기 board = board.replace('XXXX', 'AAAA') board = board.replace('XX', 'BB') if 'X' in board: print(-1) else: print(board) ## 숏코딩 풀이 result = input().replace('XXXX','AAAA').replace('XX','BB') print(-1 if 'X' in result else result) 문제 정의 처음에 'X' , '.'으로 이루어진 보..
이번엔 백준 2800 괄호 제거 문제를 풀어보겠습니다. 주요 자료구조는 스택을 사용하며, 조합(combinations)을 이용해 풀어보겠습니다. 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net Contents *전체 코드 from itertools import combinations problem = list(input()) # 문제 입력받는 리스트 p, brk_idx = [],[] # 괄호쌍 찾을 스택 -> p , 괄호쌍 인덱스 저장 이중리스트 -> brk_idx result..
Contents 이번엔 백준 12015 가잔 긴 증가하는 부분 수열 2 문제를 Python을 이용해 풀어보겠습니다. 12738 가장 긴 증가하는 부분 수열3 역시 아래와 풀이가 완전 동일합니다. * 12015 문제 링크 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net * 12738 문제 링크 12738번: 가장 긴 증가하는 부분 수열 3 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1..