개발 모음집/Programmers
-
[프로그래머스] 숫자의 표현개발 모음집/Programmers 2022. 5. 24. 19:34
코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 내풀이 1차 (시간초과 실패) def solution(n): answer = 0 for i in range(1, n + 1): sum = 0 for j in range(i, n + 1): sum += j if sum == n: answer += 1 return answer 내풀이 2차 (코드 추가) def solution(n): answer = 0 for i in range(1, n + 1): sum = 0 for j in range(i, n..
-
[프로그래머스] 스킬트리개발 모음집/Programmers 2022. 5. 23. 16:53
코딩테스트 연습 - 스킬트리 programmers.co.kr 내 풀이 1차시도 실패 def solution(skill, skill_trees): answer = 0 skill_dict = dict() for index, val in enumerate(skill): skill_dict[val] = index for a in skill_trees: check_list = list() for b in a: if b in skill: check_list.append(skill_dict[b]) if sorted(check_list) == check_list and check_list[0] == 0: answer += 1 return answer 다른사람 풀이 def solution(skill, skill_tree..
-
[프로그래머스] N개의 최소공배수개발 모음집/Programmers 2022. 5. 23. 16:35
코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 다른사람 풀이 from math import gcd def solution(arr): answer = arr[0] for i in range(1, len(arr)): answer = (answer * arr[i] // gcd(answer, arr[i])) return answer
-
[프로그래머스] JadenCase 문자열 만들기개발 모음집/Programmers 2022. 5. 23. 16:34
코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고 programmers.co.kr 내풀이 def solution(s): answer = '' s_list = s.split(" ") for i in range(len(s_list)): s_list[i] = s_list[i][:1].upper() + s_list[i][1:].lower() return ' '.join(s_list)
-
[프로그래머스] 행렬의 곱셉개발 모음집/Programmers 2022. 5. 23. 16:33
코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr 행렬의 곱셈, 행렬의 거듭제곱 행렬의 곱셈은 행렬의 실수배에 비하면 훨씬 어려워요. 행렬을 곱할 수 있는 조건이 있어 이 조건을 만족하지 않으면 곱셈을 하지 못하는 경우도 있어요. 게다가 계산방식도 매우 까다롭죠. 도 mathbang.net 다른 사람 풀이 def solution(arr1, arr2): answer = [[0 for _ in range(len(arr2[0]))] for _ in range(len(arr1))] for i in ra..
-
[프로그래머스] 피보나치 수개발 모음집/Programmers 2022. 5. 17. 16:08
코딩테스트 연습 - 피보나치 수 피보나치 수는 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 내풀이 def solution(n): pibo_list = [0, 1] for i in range(2, n + 1): pibo_list.append(pibo_list[i-2] + pibo_list[i-1]) return pibo_list[-1] % 1234567
-
[프로그래머스] 최솟값 만들기개발 모음집/Programmers 2022. 5. 17. 15:37
코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 내풀이 def solution(A,B): answer = 0 A = sorted(A) B = sorted(B, reverse=True) for i,j in zip(A, B): answer += i * j return answer 다른방법 1 def getMinSum(A,B): return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse = True))) #아래 코드는 출력을 위한 테스트 코드입니..