Algorithm/Baekjoon
-
[파이썬/Python] 1436번 영화감독 숌Algorithm/Baekjoon 2024. 4. 23. 17:33
문제https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워www.acmicpc.net 코드# 사용자로부터 찾고자 하는 '666'이 포함된 순서를 입력받음n = int(input())# 현재까지 발견된 '666'이 포함된 숫자의 개수를 세기 위한 카운터cnt = 0# 처음 검사할 숫자를 666으로 설정i = 666# 무한 반복문을 통해 '666'을 포함하는 숫자를 찾음while True: # 현재 숫자 i를 문자열로 변환하고 '666..
-
[파이썬/Python] 1167번 트리의 지름Algorithm/Baekjoon 2024. 4. 19. 16:16
문제https://www.acmicpc.net/problem/1167 1167번: 트리의 지름트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지www.acmicpc.net 코드import sysinput = sys.stdin.readlinesys.setrecursionlimit(10001)def dfs(v, w): global distance, farthest_node visited[v] = True if distance 풀이1967번 트리의 지름과 같은 문제로, 입력 받는 부분만 다르다. https://ehdbs0903.tis..
-
[파이썬/Python] 1967번 트리의 지름Algorithm/Baekjoon 2024. 4. 18. 18:35
문제https://www.acmicpc.net/problem/1967 1967번: 트리의 지름파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연www.acmicpc.net 코드import sysinput = sys.stdin.readlinesys.setrecursionlimit(10001)def dfs(v, w): global distance, farthest_node visited[v] = True # 현재 노드를 방문한 것으로 표시 # 현재 거리가 더 길 경우 가장 먼 거리와 노드..
-
[파이썬/Python] 1987번 알파벳Algorithm/Baekjoon 2024. 4. 16. 17:32
문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 $R$칸, 가로 $C$칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 ($1$행 $1$열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 www.acmicpc.net 코드 import sys # 입력 받기 input = sys.stdin.readline # 백트래킹 함수 정의 def backtracking(x, y, cnt): global alphabet global ans ans = max(ans, cnt) # 현재 경로 길이와 최대 길이 비교 및 업데이트 # 상, 하, 좌, 우 네 방향으로 이동 시도 for i in range(4): nx..
-
[파이썬/Python] 9019번 DSLRAlgorithm/Baekjoon 2024. 4. 2. 17:19
문제https://www.acmicpc.net/problem/9019 9019번: DSLR네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에www.acmicpc.net 코드import sysfrom collections import dequeinput = sys.stdin.readlinedef operation_d(n): return 2 * n % 10000def operation_s(n): return (n - 1) % 10000def operation_l(n): return (n % ..
-
[파이썬/Python] 16928번 뱀과 사다리 게임Algorithm/Baekjoon 2024. 3. 28. 15:42
문제https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x www.acmicpc.net 코드import sysfrom collections import dequeinput = sys.stdin.readlinedef bfs(v): # 각 칸에 도달하기 위한 최소 던지기 횟수를 저장할 배열 초기화 visited = [0] * 101 visited[v] = 1 q = deque([v]) while q: v..
-
[파이썬/Python] 20529번 가장 가까운 세 사람의 심리적 거리Algorithm/Baekjoon 2024. 3. 27. 14:16
문제 https://www.acmicpc.net/problem/20529 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 코드 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n = int(input()) mbti = list(map(str, input().rstrip().split())) if n > 32: print(0) else: # MBTI 유형 간의 거리를 저장할 2차원 리스트 초기화 distance = [[0] * n for _ in range(n)] # MBTI 유형 쌍에 대해 거리 계산 for i in ran..
-
[파이썬/Python] 1181번 단어 정렬Algorithm/Baekjoon 2024. 3. 22. 18:20
문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) words = set() for _ in range(n): words.add(input().rstrip()) # 중복 제거 arr = list(words) arr.sort() # 사전 순으로 정렬 arr.sort(key=len) # 길이 순으로 정렬 for i in arr: pr..