본문 바로가기

Algorithm 💡272

[백준 1388번] 바닥 장식 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net n, m = map(int,input().split()) area = [list(input()) for _ in range(n)] # 바닥 visited = [[False]*m for _ in range(n)] # 방문(카운팅)여부 answer = 0 for i in range(n): for j in range(m): # 모든 나무의 영역을 방문 if visited[i][j]: # 이미 방문(카운팅)한 나무라면 Pass continue visited[i][j] = Tr.. 2024. 3. 4.
[백준 14719번] 빗물 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net from collections import deque h, w = map(int,input().split()) dx = [1,0,0] dy = [0,1,-1] area = [[0]*w for _ in range(h)] visited = [[False]*w for _ in range(h)] answer = 0 heights = list(map(int,input().split())) def check_available(x,y): # 빗물이 고일 수 .. 2024. 1. 15.
[백준 1759번] 암호 만들기 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net import copy l, c = map(int,input().split()) alpha_set = set(input().split()) answer = [] vowels = set(['a','e','i','o','u']) # 암호는 서로 다른 L개의 알파벳 소문자들로 구성 # 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성 # 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것 def dfs(string,remain_set):.. 2024. 1. 15.
[백준 2529번] 부등호 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net import copy k = int(input()) signs = list(input().split()) minimum, maximum = float("inf"), float("-inf") def dfs(numbers,num_set): global minimum, maximum, minimum_string, maximum_string length = len(numbers) if length == k+1: # 숫자의 개수가 k+1를 만족할 경우 함수 종료 final_value.. 2024. 1. 15.
[백준 1240번] 노드사이의 거리 1240번: 노드사이의 거리 첫째 줄에 노드의 개수 $N$과 거리를 알고 싶은 노드 쌍의 개수 $M$이 입력되고 다음 $N-1$개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 $M$개의 노드 쌍 www.acmicpc.net from collections import deque n,m = map(int,input().split()) graph = [[] for _ in range(n+1)] for _ in range(n-1): # n-1개의 간선을 입력받고, 양방향으로 저장 start, end, distance = map(int,input().split()) graph[start].append((end,distance)) graph[end].append((star.. 2024. 1. 8.
[백준 14889번] 스타트와 링크(재풀이) 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net [백준 14889번] 스타트와 링크 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net n = int(input()) visited = [False for _ in range(n)] data = woohyun-king.tistory.com from itertools import combinations from ite.. 2024. 1. 6.