문제 https://programmers.co.kr/learn/courses/30/lessons/12953?language=python3 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 코드 import math def solution(arr): answer = arr[0] for n in arr: answer = (n*answer) // math.gcd(n,answer) print(answer) return answer 최대공약수 gcd는 math.gcd를 이용해 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 코드 def solution(skill, skill_trees): answer = 0 for skills in skill_trees: list_skill = list(skill) for i in skills: if i in skill: if i != list_skill.pop(0): break else: answer += 1 return answer skill = "CBD" 를 for문 돌 때마다 list ['C', 'B', 'D']로 만들어서 i가 "CBD" 중에 한개 일때 list에 젤 앞에 값이 아닌 경우 break문을 실행한다.
문제 https://programmers.co.kr/learn/courses/30/lessons/42583?language=python3 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 코드 def solution(bridge_length, weight, truck_weights): time = 0 truck_ing = [0] * bridge_length while truck_ing: time += 1 truck_ing.pop(0) if truck_weights: if sum(tru..
문제 https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 코드 from itertools import permutations def solution(numbers): answer = '' permution = list(permutations(numbers, len(numbers))) list_permution = [] ..