본문 바로가기

Engineering WIKI/Programmers71

[프로그래머스] JadenCase 문자열 만들기 코딩테스트 연습 - 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) 2022. 5. 23.
[프로그래머스] 행렬의 곱셉 코딩테스트 연습 - 행렬의 곱셈 [[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.. 2022. 5. 23.
[프로그래머스] 피보나치 수 코딩테스트 연습 - 피보나치 수 피보나치 수는 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 2022. 5. 17.
[프로그래머스] 최솟값 만들기 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 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))) #아래 코드는 출력을 위한 테스트 코드입니.. 2022. 5. 17.
[프로그래머스] 최댓값과 최솟값 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 programmers.co.kr 내풀이 def solution(s): answer = '' s = s.split(" ") s = list(map(int, s)) min_value = min(s) max_value = max(s) answer = f"{min_value} {max_value}" return answer 다른방법 1 def solution(s): s = list(map(int,s.split())) return str(min(s)) + " " + str(m.. 2022. 5. 17.
[프로그래머스] 카펫 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 다른 사람 풀이 def solution(brown, yellow): total = brown + yellow # 전체 카펫의 칸 for weight in range(total, 2, -1): # 가로 if total % weight == 0: # 카펫넓이에서 가로길이 탐색 height = total // weight # 카펫넓이 / 가로길이를 통해 세로길이 탐색 if yellow == (weight - 2) * (height - 2): return [i, a] 2022. 5. 17.