본문 바로가기
반응형

Problem Solving/BOJ225

[BOJ][Python]9625번 풀이 https://www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net n = int(input()) t = [[] for _ in range(n+1)] t[0] = [1,0] for i in range(1,n+1): t[i] = [t[i-1][1],t[i-1][0]+t[i-1][1]] print(*t[n]) 이번 문제도 쉽습니다. 오히려 점화식을 찾기 위해서 하나씩 쓰다보면 헷갈릴 수 있는 문제라고 생각해요. A는 B로 바뀌고 B는 BA로 바뀌기 때문에 B는 갯수가 줄.. 2022. 5. 30.
[BOJ][Python]11723번 풀이 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net import sys input = sys.stdin.readline S = set([]) m = int(input()) for _ in range(m): line = input().split() if len(line)==1: if line[0] == 'all': S = set([i for i in range(1,21)]) else: S.clear() else: if line[0] == 'add': S.add(int(line[1])).. 2022. 5. 29.
[BOJ][Python]9655번 풀이 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net n = int(input()) if n%2==0: print('CY') else: print('SK') 이건 고민할 필요도 없는 문제입니다. 1과 3밖에 선택하지 못하는 상황이기에 경우를 따져볼 필요도 없죠. 홀수+홀수는 무조건 짝수입니다. 홀수+홀수+홀수는 무조건 홀수죠. 어째서 실버5인지도 모르겠는 문제네요. 브론즈5가 딱 맞지 않나 생각합니다. 2022. 5. 29.
[BOJ][Python]1676번 풀이 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net n = int(input()) ans = 1 for i in range(1,n+1): ans *= i ans = list(str(ans)) cnt = 0 while 1: if ans[len(ans)-1] != '0': print(cnt) break else: ans.pop() cnt += 1 이번엔 지난 번에 bfs공부를 하다가 찾았던 다른 분들의 풀이 중에서 써먹을만한게 있다 싶었던 방법을 한 번 사용해봤습니다. 해당 방법은 데이터를 하나씩 쪼개고 싶은데 공백이나 다른 구분할게 없.. 2022. 5. 29.
[BOJ][Python]1260번 풀이 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net from collections import deque import copy def dfs(v): visited[v][v] = True print(v, end=' ') for i in range(1,n+1): if visited[v][i] == True and visited[i][i] == False: dfs(i) elif visited[i][v] == True.. 2022. 5. 28.
[BOJ][Python]2606번 풀이 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net from collections import deque n = int(input()) p = int(input()) graph =[list(map(int, input().split())) for _ in range(p)] visited = [False for _ in range(n+1)] q = deque() visited[1]=True q.append(1) while q: v = q.popleft() .. 2022. 5. 28.
[BOJ][Python]1010번 풀이 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net t = int(input()) table = [[0 for _ in range(30)] for _ in range(30)] for i in range(1,30): table[1][i] = i table[i][i] = 1 for i in range(2,30): for j in range(i+1,30): table[i][j] = table[i][j-1]+table[i-1][j-1] for _ in r.. 2022. 5. 27.
[BOJ][Python]17198번 풀이 https://www.acmicpc.net/problem/17198 17198번: Bucket Brigade The input file contains 10 rows each with 10 characters, describing the layout of the farm. There are exactly one barn, one lake, and one rock. www.acmicpc.net from collections import deque def bfs(r,c): q = deque() q.append((r,c)) t[r][c]=0 while q: r,c = q.popleft() for dr,dc in d: R,C = r+dr, c+dc if 0 2022. 5. 25.
[BOJ][Python]24416번 풀이 https://www.acmicpc.net/problem/24416 24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net def recur_fib(n): global cnt1 cnt1 += 1 if n == 1 or n == 2: cnt1 -= 1 return 1; else: return recur_fib(n-1) + recur_fib(n-2) def dp_fib(n): global cnt2 f[1], f[2] = 1, 1 for i in range(3, n+1): cnt2+=1 f[i] = f[i-1.. 2022. 5. 25.
[BOJ][Python]1388번 풀이 https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net def dfs(r,c): global cnt if visited[r][c] == True: return visited[r][c] = True if b[r][c] == '-': if c+1 2022. 5. 24.
반응형