[문제] 문제 설명 - 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 - s의 길이는 1 이상 5이하입니다. - s의 맨앞에는 부호(+, -)가 올 수 있습니다. - s는 부호와 숫자로만 이루어져있습니다. - s는 "0"으로 시작하지 않습니다. 입출력 예 - 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. - str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. [답안] def solution(s): return int(s) [문제 풀어보기] https://school.programmers.co.kr/learn/courses/30/lessons/12925
def solution(my_string): answer = 0 operator = '+' for index, value in enumerate(my_string.split(' ')): if index % 2 == 1: operator = '+' if value == '+' else '-' else: if operator == '+': answer += int(value) else: answer -= int(value) return answer string 형태로 된 연산식을 계산하는 문제이다. 먼저 operator는 '+'로 지정해주었다. my_string.split(' ') 공백으로 분할한 배열을 enumerate() 함수를 통해 index와 value 값으로 접근하도록 하여 반복문을 실행한다. 연산..
def solution(n): return [i for i in range(1, n+1) if n % i == 0] n의 약수를 구하는 문제 * 약수란? n을 나누었을 때 나머지가 0인 것 1부터 n + 1 까지 의 for문을 돌면서 n % i == 0 인 값을 리턴하였다.
def solution(order): return [int(i) > 0 and int(i) % 3 == 0 for i in str(order)].count(True) int 값인 order를 string으로 치환 후 for문을 돌려 0보다 크고 3의 배수인 항목을 True로 리턴했다. 위의 배열에서 True의 값을 카운트 하여 정답을 구했다.
import math def solution(n): return n * 6 / math.gcd(n, 6) / 6 최소공배수를 구하여 답을 도출하는 문제이다. math 라이브러리의 gcd 함수를 사용하였다. python 3.9버전에서 제공되는 lcm 함수가 있지만, 프로그래머스에서는 사용이 안되기 때문에 gcd() 함수를 통하여 최대공약수를 구해서 문제를 계산했다. 최대공배수를 구하는 공식은 lcm = a * b * gcd 를 이용했다 a = n, b = 6, gcd = math.gcd(n, 6) 을 대입하여 계산하면 최소 공배수를 구할 수 있다. 최소 공배수를 피자 한판의 크기인 6으로 나누어주면 최소 피자의 수를 구할 수 있다.
def solution(my_string, num1, num2): arr = list(my_string) arr[num1], arr[num2] = arr[num2], arr[num1] return "".join(arr) my_string을 배열 형태로 바꾸고, arr[num1] 에 arr[num2]의 값을, arr[num2] 에 arr[num1]의 값을 선언한다. arr를 join 하여 문자열 형태로 값을 리턴한다