프로그래머스 | Python | 구슬을 나누는 경우의 수
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내코드import mathdef solution(balls, share): return math.factorial(balls)/(math.factorial(balls-share)*math.factorial(share))코드설명조합 공식인 (nr)=n!(n−r)!⋅r!\binom{n}{r} = \frac{n!}{(n-r)! \cdot r!}을 직접 구현했습니다.math.factorial 함수를 사용해 구슬의 개수에 대한 팩토리얼 값을 계산한 뒤, 이를 공식에 대입해 조합 값을 반환합니다.구슬의 개수 balls와 고를 개수 share를 활용해 조합의 경우의..
프로그래머스 | Python | 삼각형의 완성조건 (2)
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 코드def solution(sides): # 두 변 중 짧은 변과 긴 변을 정리 short, long = sorted(sides) # 가능한 x의 범위를 계산 min_x = long - short + 1 # x가 긴 변 - 짧은 변보다 커야 함 max_x = long + short - 1 # x가 긴 변 + 짧은 변보다 작아야 함 # 가능한 x의 개수 계산 return max_x - min_x + 1코드설명주어진 두 변을 오름차순으로 정렬하여 짧은 변(short)과 긴 변(long)을 구합니다.나머지..
프로그래머스 | Python | 영어가 싫어요
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내코드def solution(numbers): dic = {"zero": "0", "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9"} for i, j in dic.items(): numbers = numbers.replace(i, j) return int(numbers)코드설명딕셔너리 dic에 영어로 된 숫자와 그에 해당하는 문자열 숫자를 매핑합니다.예: "..
프로그래머스 | Python | 문자열 계산하기
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 코드def solution(my_string): return eval(my_string)코드 설명Python의 내장 함수 eval()을 사용하여 문자열로 된 수식을 계산합니다.예를 들어, "3 + 5"라는 문자열을 입력하면, eval() 함수가 이를 실행하여 결과값 8을 반환합니다.특징간결함: 한 줄로 작성되며 직관적입니다.유연성: 다양한 연산자(+, -, *, / 등)가 포함된 수식도 별도의 추가 구현 없이 처리할 수 있습니다.보안 문제: 입력 문자열에 악의적인 코드가 포함될 경우 실행될 위험이 있습니다.다른 코드def solution(my_str..
프로그래머스 | Python | 공 던지기
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 코드def solution(numbers, k): return numbers[(k-1)*2 % len(numbers)]코드 설명수식 설계(k-1)*2는 공을 던질 때 두 칸씩 이동하며, k번째로 던질 사람이 누구인지 찾는 계산입니다.% len(numbers)는 원형 배열 구조를 고려하여 인덱스가 범위를 초과하지 않도록 만듭니다.최종적으로 해당 인덱스에 위치한 값을 반환합니다.간결함코드가 한 줄로 작성되어 간단하지만, 수식에 대한 이해가 필요합니다.특징효율적인 수학적 접근법으로 인덱스를 계산합니다.반복문 없이 계산으로 문제를 해결하여 속도가 빠릅니다...
프로그래머스 | Python | 잘라서 배열로 저장하기
·
프로그래머스
프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 코드def solution(my_str, n): answer = [] i = 0 # 시작 인덱스 while i + n 코드 설명초기화answer 리스트를 초기화하여 결과를 저장할 준비를 합니다.슬라이싱을 위한 시작 인덱스 i를 0으로 초기화합니다.while 반복문현재 인덱스 i부터 i+n까지 문자열을 잘라서 answer에 추가합니다.반복문은 i+n이 문자열 길이보다 작거나 같을 때까지만 동작합니다.남은 문자열 처리반복문이 끝난 뒤 i부터 끝까지 남아 있는 문자열이 있다면 추가합니다.이를 통해 문자열 길이가 n으로 나누어떨어지지..