본문 바로가기

728x90

그 땐 Algorithm했지

(56)
[BAEKJOON/Python] no.2644 촌수계산 | DFS/BFS 문제 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 1차 풀이 from collections import deque people_count = int(input()) target1, target2 = map(int, input().split()) relationship_count = int(input()) graph = [[] for _ in range(people_count + 1)] check = [0] * (peopl..
[BAEKJOON/Python] no.1940 주몽 | 정렬 문제 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 1차 풀이 material_count = int(input()) need_num = int(input()) material_num = list(map(int, input().split())) material_num.sort() result = 0 small_num_idx = 0 big_num_idx = material_count - 1 while(True): if s..
[Self-study/level2] Python | 삼각 달팽이 문제 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 1차 풀이 def firstStep(list, num, x, y, counting): for i in range(counting): list[x][y] = num x += 1 num += 1 return (num, x - 1, y + 1) def secondStep(list, num, x, y, counting): for i in range(counting): l..
[BAEKJOON/Python] no.3085 사탕게임 | 구현, 브루트포스 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 1차 풀이 구글링..ㅎ count = int(input()) candy_list = [list(input()) for _ in range(count)] answer = 0 def check(candy_list): answer = 1 for i in range(count): #0 1 2 cnt = 1 for idx in range(1, count): #1 2 if candy_list[i][idx] == candy_list[i][idx - 1]: cnt += 1 else: cnt = 1 if cnt > answe..
[BAEKJOON/Python] no.14713 앵무새 | Queue 문제 https://www.acmicpc.net/problem/14713 14713번: 앵무새 자가용 비행기를 타고 세계 일주를 하던 pps789와 cseteram은 어느 날 엔진 고장으로 인해 이름 모를 섬에 불시착하게 된다. 그들은 이 섬을 탐험하는 도중 아주 신기한 사실을 알게 되었는데, 바로 www.acmicpc.net 1차 풀이 : 구글링ㅎ from collections import deque bird_count = int(input()) bird_sentence_list = list() for i in range(bird_count): bird_sentence_list.append(deque(map(str, input().split()))) sentence = deque(map(str, inp..
[TAVE/이코테] ch10 그래프 이론 | 실전 문제 참고자료: 이것이 코딩테스트다 2. 실전 - 팀 결성 team_count, calculation = map(int, input().split()) parent = [0] * (team_count + 1) #[0, 0, 0, 0, 0, 0, 0, 0] #각 num번 팀에 num번 학생을 속하게 한다. for num in range(team_count + 1): #[0, 1, 2, 3, 4, 5, 6, 7] parent[num] = num def find_parent(parent, x): if parent[x] != x: return find_parent(parent, parent[x]) return parent[x] for _ in range(calculation): cal, student1, studen..
[TAVE/이코테] ch10 그래프 이론 | 개념 정리 참고자료: 이것이 코딩테스트다 그래프 📌노드와 노드 사이에 연결된 간선의 정보를 가지고 있는 자료구조 👉🏻그래프 구현 방식 인접 행렬: 2차원 배열을 사용하는 방식 인접 리스트: 리스트를 사용하는 방식 🐰다양한 그래프 알고리즘을 알아보자! 1️⃣ 서로소 집합 📌공통 원소가 없는 두 집합 ✅서로소 집합 자료구조 📌서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조를 말한다. 👉🏻union(합집합)연산과 find(찾기)연산으로 조작할 수 있어 union-find 자료구조로 불리기도 한다. 👉🏻트리 자료구조를 이용해 집합을 표현하고 계산 알고리즘은 다음과 같다. union(합집합) 연산을 확인하여, 서로 연결된 두 노드 A, B를 확인한다. A와 B의 루트 노드 A', B'를 각각 찾는다...
[BAEKJOON/Python] no.1931 회의실 배정 | Greedy 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 1차 풀이 conference_count = int(input()) schedule = [] for conference in range(conference_count): schedule.append(tuple(map(int, input().split()))) schedule.sort(key=lambda tup: tup[0]) result = [[schedule[0]]] for schedule_time in schedule[1:]: put = 0 for idx, result_time in enumerate(r..

728x90