파이썬15 프로그래머스 N개의 최소공배수 https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배�� programmers.co.kr 실제로 n 개의 최소공배수를 풀 때 사용하는 알고리즘을 이용했다. 주어지는 숫자가 100이하의 숫자이므로 2부터 증가시키며 100보다 작은 동안 나누어지는 수를 계속 나누어준후 재수들의 리스트에 삽입하여 저장하였고 나누어진 수들을 전부곱하여 리턴하였다. 다른 사람의 풀이를 봤는데 파이썬에 최대공약수를 구해주는 내부 .. 2020. 7. 4. 프로그래머스 피보나치 수 (python) 코딩테스트 연습 - 피보나치 수 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 처음에 문제가 이해되지 않았는데 입력받은 인덱스에 해당하는 피보나치 수를 구한다고 생각하고 문제를 해결했다. 풀이코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def solution(n): lst = [0,1] for i in range(n.. 2020. 6. 24. 프로그래머스 행렬의 곱셈 코딩테스트 연습 - 행렬의 곱셈 for문을 활용하여 푸는 문제였는데 다른사람의 풀이를 보니 잘 이해가 가지 않았다. 한줄 만에 코드를 다 끝 냈는데 아직 모르는 개념이 많은 것 같다.... 내 풀이 1234567891011def solution(arr1, arr2): answer = [] for i in range(len(arr1)): lst = [] for k in range(len(arr2[0])): temp = 0 for j in range(len(arr1[0])): temp += arr1[i][j]*arr2[j][k] lst.append(temp) answer.append(lst) return answercs zip(*B)로 B의 행들을 접근 할 수 있는게 정말 신기했다. 다른 사람 풀이 123d.. 2020. 6. 17. 프로그래머스 더 맵게(python) 코딩테스트 연습 - 더 맵게 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 평소에 풀던 방식대로 sort()로 정렬을 하는 방식으로 문제를 풀었더니 효율성 테스트에서 오류가 났다. 문제 유형을 보니 힙이라고 적혀있어서 힙을 이용해야겠다고 생각했다. 파이썬에서 heapq 라는 모듈을 지원해주는 것을 알게 되었고 heapq를 이용하여 문제를 해결했다. [파이썬] heapq 모듈 사용법 [파이썬] heapq 모듈 사용법 Engineering Blog by Dale Seo www.daleseo.co.. 2020. 6. 13. 이전 1 2 3 4 다음