본문 바로가기

전체보기192

[백준 24479, 24480번] 알고리즘 수업 - 깊이 우선 탐색 1, 2 문제https://www.acmicpc.net/problem/24479https://www.acmicpc.net/problem/24480풀이- 알고리즘 수업 - 깊이 우선 탐색 1# N개의 정점과 M개의 간선으로 구성된 무방향 그래프# 정점 R에서 시작해 깊이 우선 탐색한 노드 방문 순서 출력import syssys.setrecursionlimit(10 ** 6)input = sys.stdin.readline# 정점의 수, 간선의 수, 시작 정점N, M, R = map(int, input().split())graph = [[] for _ in range(N+1)]visited = [0] * (N+1)cnt = 1def dfs(graph, visited, r): global cnt visited.. 2024. 4. 29.
[공지] Velog로 블로그 이전중 🚚 개발 공부를 시작하고 처음 써오던 블로그를 이전하고 있습니다.현재 tistory 블로그를 아예 안쓰고 싶진 않아서 백준 문제 풀이 정도만 이곳에 남기고 있습니다.제 최근 근황이나 프로젝트, 다른 다양한 포스팅을 보고 싶으시면 Velog 방문해주시면 감사합니다 😃 https://velog.io/@hi-rachel/posts hi-rachel (Rachel) / 작성글 - velog기존 블로그: https://hi-rachel.tistory.comvelog.io 앞으로 계속 어디에 포스팅할지는 모르겠지만 글을 쓰는 곳이 크게 중요하진 않은 것 같아요.Velog가 UI가 예쁘지만 버그도 많고.. 티스토리는 좀 덜 예쁘고.. 장단점이 있는 것 같습니다.여러가지 시도해 보고 좋은 글로 .. 2024. 4. 21.
[백준 24444, 24445번] 알고리즘 수업 - 너비 우선 탐색 1, 2 문제https://www.acmicpc.net/problem/24444<figure id="og_1713701073987" contenteditable="false" d.. 2024. 4. 21.
[백준 28279번] 덱 2 - Python, 덱 주요 메서드/시간 복잡도 문제 28279번: 덱 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 풀이 import sys from collections import deque input = sys.stdin.readline deq = deque() N = int(input()) for _ in range(N): order = list(map(int, input().split())) if order[0] == 1: deq.appendleft(order[1]) elif order[0] == 2: deq.append(order[1]) elif order[0] == 3: if (deq):.. 2024. 4. 3.
[백준 1890번] 점프 - Python 문제 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 풀이 import sys input = sys.stdin.readline n = int(input()) game_map = [list(map(int, input().split())) for _ in range(n)] dp = [[0] * n for _ in range(n)] dp[0][0] = 1 def move(): for i in range(n): for j in range(n): k = game_map[i][j] if k == 0: cont.. 2024. 3. 28.
[백준 10844번] 쉬운 계단 수 - Python 문제 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 import sys input = sys.stdin.readline n = int(input().rstrip()) d = [[0] * 10 for _ in range(n+1)] for i in range(1, 10): d[1][i] = 1 for i in range(2, n+1): for j in range(10): if j == 0: d[i][j] = d[i-1][1] elif j == 9: d[i][j] = d[i-1][8] else: d[i][j] = d[i-1][j-1] + d[i-1][j+1] print(sum(d[n]) % 1000000000) 이해하는데 .. 2024. 3. 22.