본문 바로가기

프로그래밍/프로그래머스

(3)
[프로그래머스] 제곱수 판별하기 문제 설명 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 나의 풀이 def solution(n): return 1 if n**0.5%1==0 else 2 제곱수일 경우 제곱근이 정수로 떨어진다는 점을 이용하여 n**0.5를 1로 나누었을 때 나머지가 0이면 제곱수, 아닐 경우 제곱수가 아닌 것으로 출력해주었다. 다른 분들의 경우 math 모듈의 sqrt를 쓰시기도 하고, n**0.5.is_integer()를 사용하여 정수인지 판별해주는 방법을 활용하신 것 같다.
[프로그래머스] 구슬을 나누는 경우의 수(조합 구하기) 문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls 조합을 구하는 문제이다. 조합을 구하는 식은 n!/(n-r)!r! 이다. * 조합 : 서로 다른 n개에서 순서를 고려하지 않고 서로 다른 r(0
[프로그래머스] 분수의 덧셈 문제 설명 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0