2022/BaekJoon_삼성 SW 역량 테스트 기출(33)
-
14888번 - 연산자 끼워넣기*
DFS 예시 graph = dict() graph['A'] = ['B', 'C'] graph['B'] = ['A', 'D'] graph['C'] = ['A', 'G', 'H', 'I'] graph['D'] = ['B', 'E', 'F'] graph['E'] = ['D'] graph['F'] = ['D'] graph['G'] = ['C'] graph['H'] = ['C'] graph['I'] = ['C', 'J'] graph['J'] = ['I'] {'A': ['B', 'C'], 'B': ['A', 'D'], 'C': ['A', 'G', 'H', 'I'], 'D': ['B', 'E', 'F'], 'E': ['D'], 'F': ['D'], 'G': ['C'], 'H': ['C'], 'I': ['C', 'J'..
2022.04.08 -
14501번 - 퇴사*
동적계획법 (DP : Dynamic Programming) 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 수행시간의 비약적 향상이 핵심으로 '메모이제이션'이라는 기법을 사용해 이미 계산된 결과는 별도의 메모리에 저장하여 필요한 경우 다시 계산하지 않고 다시 꺼내 사용하는 방식 Top-Down 방식 : 메모이제이션을 통한 재귀함수를 사용한 방식 Bottom-Up 방식 : 결과 저장용 리스트인 dp 테이블을 통해 반복문으로 문제를 해결 N = int(input()) T = [] P = [] dp = [] for _ in range(N): t, p = map(int, input().split()) T.append(t) P.append(p) dp.append(p) dp.append(0) for i in range..
2022.04.02 -
13458번 - 시험 감독
import math N = int(input()) A = input().split(' ') B, C = map(int, input().split()) cnt = 0 for i in A: i = int(i) - B cnt += 1 if i > 0: cnt += math.ceil(int(i) / C) print(cnt) N = 시험 장소의 수 A = 각 시험장에 있는 학생의 수 B = 감독관이 감독할 수 있는 최대 학생의 수 C = 부감독관이 감독할 수 있는 최대 학생의 수 문제 Key Point 시험 장소에는 1명의 감독관이 무조건 존재해야한다. (2명 이상의 감독관이 들어갈수는 없음) 따라서 감독관이 감독 가능한 학생의 수가 초과되면 나머지 학생들은 부감독관이 감독
2022.04.01