본문 바로가기

🔅코딩테스트 공부🔅/❗백준138

[백준] 1931번 회의실 배정(python) https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 나의 7전 8기 정신 😥 반례찾기 참 ㅇㅓ렵지만 해결했음에 감사하다~ 1. 내가 작성한 코드 t = int(input()) #회의의 수 arr = [] #회의의 정보가 담긴 list for i in range(t): time = list(map(int, input().split())) arr.append(time) arr = sorted(arr, key = lambda x : (x[1],x[0])) #끝나는 시간 순으로 정렬, 끝나는 시간이 같을 경우 시작 시간 순으로 정렬 cnt = 0 top = [0,0] f.. 2023. 2. 11.
[백준] 2644번 촌수계산(python) https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 1. 내가 작성한 코드 from collections import deque def bfs(): queue = deque() queue.append(a) visit[a] = 0 while queue: x = queue.popleft() if x == b: return visit[x] else: for i in graph[x]: if visit[i] == 0: visit[i] =.. 2023. 2. 11.
[백준] 1946번 신입 사원(python) https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 1. 내가 작성한 코드 t = int(input()) for i in range(t): n = int(input()) #지원자 수 apply = [] #지원자의 점수 cnt = 1 #서류 1등은 무조건 합격이니 1부터 시작 for i in range(n): apply.append(list(map(int,input().split()))) apply.sort() #서류 기준으로 .. 2023. 2. 11.
[백준] 7562번 나이트의 이동(python) https://www.acmicpc.net/submit/7562/55594757 로그인 www.acmicpc.net 1. 내가 작성한 코드 기존 문제들은 dx, dy가 동, 서, 남, 북 네 방향으로만 이동할 수 있는데, 이 문제는 각기 다른 8개의 방향으로 이동할 수 있다는 점을 제외하면 미로찾기와 동일한 문제이다. from collections import deque t = int(input()) #테스트 케이스 횟수 def bfs(): #이동할 수 있는 좌표 dx = [2,2,1,1,-2,-2,-1,-1] dy = [-1,1,-2,2,-1,1,-2,2] queue = deque() queue.append((start_x,start_y)) maps[start_x][start_y]= 1 while qu.. 2023. 2. 10.
[백준] 24416번 알고리즘 수업 - 피보나치 수 1(python) https://www.acmicpc.net/problem/24416 24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 1. 내가 작성한 코드 import sys input = sys.stdin.readline cnt1 = 1 cnt2 = 0 n = int(input().rstrip()) d = [0] * (n+1) def fibo1(x): #재귀함수 이용 global cnt1 if x == 1 or x == 2: return 1 else: cnt1+=1 return fibo1(x-1) + fibo1.. 2023. 2. 9.
[백준] 1012번 유기농 배추(with python) https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1. 내가 작성한 코드 1. BFS풀이 from collections import deque def bfs(matrix, x,y): queue = deque() queue.append((x,y)) matrix[x][y] = 0 while queue: x,y = queue.popleft() dx = [-1,1,0,0] dy = [0,0,-1,1] for i in range(4): nx = x + dx[i] ny.. 2023. 2. 8.
[백준] 24444번 너비 우선 탐색 1(with python) https://www.acmicpc.net/problem/24444 24444번: 알고리즘 수업 - 너비 우선 탐색 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. 내가 작성한 코드 from collections import deque import sys input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for i in range(n+1)] visit = [0] * (n+1) cnt = 1 for.. 2023. 2. 8.
[백준] 2667번 단지번호붙이기(with python) https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 1. 내가 작성한 코드 from collections import deque n = int(input()) total = [list(map(int, input())) for i in range(n)] result = [] #단지 개수를 담을 LIST dx = [-1,1,0,0] #좌우 이동을 위한 좌표 dy = [0,0,-1,1] #상하 이동을 위한 좌표 def bfs(total, x,y): que.. 2023. 2. 8.
[백준] 2606번 바이러스(with python) https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 1. 내가 작성한 코드 from collections import deque n = int(input()) #정점 m = int(input()) #간선 matrix = [[0] * (n+1) for i in range(n+1)] for i in range(m): a,b = map(int, input().split()) matrix[a][b] = matrix[b][a] = 1 visit = [0] * (.. 2023. 2. 8.