코딩테스트 공부/프로그래머스 문제 27

프로그래머스 [Python] 나누어 떨어지는 숫자 배열

✨ 풀이과정 1 2 3 4 5 6 7 8 def solution(arr, divisor): answer = [] for i in range(len(arr)): if arr[i] % divisor == 0: answer.append(arr[i]) if len(answer) == 0: answer.append(-1) return sorted(answer) cs ✔ 다른 사람 풀이 1 2 3 def solution(arr, divisor): arr = sorted([x for x in arr if x % divisor == 0]); return arr if len(arr) != 0 else [-1]; cs 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 ..

프로그래머스 [Python] 소수 만들기

✨ 풀이과정 1 2 3 4 5 6 7 8 9 10 11 12 from itertools import combinations def solution(nums): answer = 0 a = list(combinations(nums,3)) for i in range(len(a)): b = sum(a[i]) for j in range(2,b): if b % j == 0: break else: answer += 1 return answer cs ✔ 문제 포인트 : 소수를 판별하는 것과 리스트에서 3개의 숫자를 조합하는 것 ✔ 조합은 라이브러리를 활용 (itertools의 combinations) ✔ 소수 - 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 ▶ for문으로 2부터 n-1까지 약수가 있는지..

프로그래머스 [SQL] 역순 정렬하기

✨ 풀이과정 1 2 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; cs 코딩테스트 연습 - 역순 정렬하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr

프로그래머스 [Python] 내적

✨ 풀이과정 1 2 3 4 5 def solution(a, b): answer = [] for i in range(len(a)): answer.append(a[i]*b[i]) return sum(answer) cs ✨ 다른 사람 풀이 1 2 3 def solution(a, b): return sum([x*y for x, y in zip(a,b)]) cs 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr

프로그래머스 [Python] 두 개 뽑아서 더하기

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입..

프로그래머스 [Python] 음양 더하기

문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs result [4,7,12] [true,false,true] 9 [1,2,3] [false,fals..

프로그래머스 [Python] 3진법 뒤집기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞 뒤 반전 (3진법) 10진법 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞 뒤 반전 (3진법) 10진법 125 11122 22111 229 따라서 229를 return 해야 합니다. ✨ 풀이과정 1 2 ..

프로그래머스 [Python] 같은 숫자는 싫어

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..

728x90