🔅코딩테스트 공부🔅/❗백준138 [백준] 24479번 깊이 우선 탐색1 (with python) https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 1. 내가 작성한 코드 dfs, bfs 넘나리 어렵다 ㅠ_ㅠ import sys input = sys.stdin.readline sys.setrecursionlimit(10**9) n, m, r = map(int,input().split()) visit_dfs = [0] * (n+1) graphs = [[]for _ in r.. 2023. 2. 7. [백준] 1260번 DFS와 BFS (with python) https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 1. 내가 작성한 코드 from collections import deque n, m, v = map(int, input().split()) visit_dfs = [0] * (n+1) visit_bfs = [0] * (n+1) matrix = [[0]*(n+1) for _ in range(n+1)] for i in range(m): a,b = map(int, .. 2023. 2. 7. [백준] 15469번 N과 M (1)(with python) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 내가 작성한 코드 from itertools import permutations n, m = map(int, input().split()) arr = [] for i in range(1,n+1): arr.append(i) for j in permutations(arr, m): for i in j: print(i, end=' ') print() 1. 1부터 M까지의 수를 list에 삽입한다 .. 2023. 2. 4. [백준] 2108번 통계학(with python) https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 1. 내가 작성한 풀이 from collections import Counter import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): arr.append(int(sys.stdin.readline())) arr = sorted(arr) #산술평균 print(int(round(sum(arr)/n,0))) #중앙값 print(arr[n//2]) #.. 2023. 2. 2. [백준] 11651번 좌표 정렬하기 2(with python) https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): arr.append(list(map(int, sys.stdin.readline().split()))) result = sorted(arr, key = lambda x:(x[1],x[0])) for.. 2023. 2. 2. [백준] 10815번 숫자 카드(with python) https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) s_number = sorted(list(map(int, sys.stdin.readline().split()))) m = int(sys.stdin.readline()) total_number = list(map(int, sys.stdin.readline().split()).. 2023. 2. 1. [백준] 1181번 단어 정렬(with python) https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): arr.append(sys.stdin.readline().strip()) b = sorted(set(arr), key = lambda x: (len(x),x)) for i in b: print(i) len(x)를 기준으로 한 번 정렬해주고, .. 2023. 2. 1. [백준] 11650번 좌표 정렬하기(with python) https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 내가 작성한 코드 import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): arr.append(list(map(int,sys.stdin.readline().split()))) a = sorted(arr, key = lambda x:(x[0],x[1])) for i in a:.. 2023. 1. 31. [백준] 1026번 보물(with python) https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 1. 내가 작성한 코드 n = int(input()) a = sorted(list(map(int, input().split())),reverse=True) b = sorted(list(map(int, input().split()))) for i in a: if i == 0: a.remove(0) a.append(0) print(sum(list(map(lambda x,y : x * y, a,.. 2023. 1. 31. 이전 1 ··· 7 8 9 10 11 12 13 ··· 16 다음