목록2024/03/02 (4)
philaphillip
문제 직업에 아르바이트, 판매사원이 있습니다. 직원들 급여의 총합을 계산하기 위해 아래와 같이 Job, PartTimeJob, SalesJob 클래스를 작성했습니다. * Job : * Job : 직업을 나타내는 클래스입니다. * salary : 직업의 급여를 나타냅니다. 초기 급여는 0입니다. * get_salary : 직업의 급여를 return 합니다. * PartTimeJob : * PartTimeJob : 아르바이트를 나타내는 클래스이며 Job을 상속합니다. * work_hour : 아르바이트를 한 시간입니다. * pay_per_hour : 아르바이트의 시간 당 급여입니다. * get_salary : 아르바이트 급여를 계산하여 return 합니다. * SalesJob : * SalesJob : 판매..
문제 정수 number와 target이 주어졌을 때, 다음 세 연산을 이용해 number를 target으로 만들려 합니다. 연산 1. 1을 더합니다. 연산 2. 1을 뺍니다. 연산 3. 2를 곱합니다. 정수 number와 target이 매개변수로 주어질 때, number로 target으로 만들려면 연산을 최소 몇 번 해야 하는지 return 하도록 solution 함수를 작성해 주세요. 코드 def solution(number, target): answer = 0 dp = [-1]*(2*target+1) for i in range(1, number+1): dp[i] = number - i dp[i*2] = dp[i] + 1 dp[number+1] = 1 for i in range(number + 2, t..
문제 세 수 a, b, c의 공약수가 몇 개인지 구하려고 합니다. 공약수란, 동시에 모든 정수의 약수인 정수를 뜻합니다. 예를 들어, 세 수 24, 9, 15의 공약수는 1, 3이고, 따라서 양의 공약수는 2개입니다. 세 수의 공약수가 몇 개인지 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다. 세 수의 최대공약수를 구합니다. 앞서 구한 최대공약수의 약수가 몇 개인지 구합니다. 세 수 a, b, c가 매개변수로 주어질 때, 세 수의 약수가 몇 개인지 return 하도록 solution 함수를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 함수와 매개변수를 알맞게 채워주세요. 코드 def func_a(a, b): mod ..
문제 그래프의 노드 수와 노드 연결 순서가 주어질 때, 몇 번째 연결에 사이클이 생기는지 알고 싶습니다. 예를 들어, 노드가 3개이고 노드를 [[1, 2], [1, 3], [2, 3]] 순으로 연결한다면 아래 그림과 같습니다. 1번째 연결 2번째 연결 3번째 연결 따라서 3번째 연결에서 사이클이 생깁니다. 그래프의 노드 수 n, 노드 연결 순서 connections와 connections의 길이 connections_len이 매개변수로 주어질 때, 몇 번째 연결에 사이클이 생기는지 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. 코드 def find(parent, u): if u == parent[u]: return u parent[u] = find(p..