728x90
반응형

Algorithm Problems 125

[백준] [Python] 1862번 미터계

www.acmicpc.net/problem/1862 1862번: 미터계 첫째 줄에 미터계에 표시된 거리가 주어진다. 단, 이 거리는 정수이고, 1 이상 999,999,999 이하이다. www.acmicpc.net 9진법을 10진법으로 변환하는 내용 4이후 부터는 1씩 밀려난 숫자이기에 즉, 4면 5, 5면 6 4보다 큰 숫자는 -1씩 해주어서 자릿수의 계수로 곱해준다 n = int(input()) length = len(str(n)) result = 0 for i in range(length): digit = n%10 n = n//10 if digit >4: result += (digit-1) * (9**i) else: result += digit * (9**i) print(result)

Algorithm Problems 2021.03.21

[Cos Pro 2급] 4차 5번 - 소모한 총 열량

문제 열량이 적힌 식단표가 있습니다. 다이어트를 하는 A 씨는 오늘 먹는 열량이 그동안 먹은 식단의 열량 중 최솟값보다 큰 경우 운동을 하여 그 차이만큼을 소모합니다. 예를 들어, 식단의 열량이 [713, 665, 873, 500, 751]이라면 둘째 날까지는 운동을 하지 않습니다. 셋째 날 식단의 열량이 873이고 그 전의 먹은 열량의 최솟값이 665이므로 208 열량을 소모하기 위한 운동을 합니다. 넷째 날은 운동을 하지 않고 다섯째 날 식단의 열량이 751이고 그 전의 먹은 열량의 최솟값이 500이므로 251 열량을 소모하기 위한 운동을 합니다. 따라서 운동으로 소모하는 총열량은 459입니다. 식단의 열량을 담고 있는 리스트 calorie가 매개변수로 주어질 때, 운동으로 소모하는 총열량을 retu..

Algorithm Problems 2021.03.13

[백준] [Python] 2798번 블랙잭

유사 문제 첨부 wakaranaiyo.tistory.com/89 [Cos Pro 1급] 1차 10번 - 주식 매수 매도 문제 지난 연속된 n일 동안의 주식 가격이 순서대로 들어있는 리스트가 있습니다. 이 때, 다음 규칙에 따라 주식을 사고 팔았을 때의 최대 수익을 구하려 합니다. n일 동안 주식을 단 한 번 살 wakaranaiyo.tistory.com 문제 사이트 경로 www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net Pyth..

Algorithm Problems 2021.03.13

[Cos Pro 1급] 1차 10번 - 주식 매수 매도

문제 지난 연속된 n일 동안의 주식 가격이 순서대로 들어있는 리스트가 있습니다. 이 때, 다음 규칙에 따라 주식을 사고 팔았을 때의 최대 수익을 구하려 합니다. n일 동안 주식을 단 한 번 살 수 있습니다. n일 동안 주식을 단 한 번 팔 수 있습니다. 주식을 산 날에 바로 팔 수는 없으며, 최소 하루가 지나야 팔 수 있습니다. 적어도 한 번은 주식을 사야하며, 한 번은 팔아야 합니다. 주식을 팔 때는 반드시 이전에 주식을 샀어야 하며, 최대 수익은 양수가 아닐 수도 있습니다. 연속된 n 일 동안의 주식 가격이 순서대로 들어있는 리스트 prices가 매개변수로 주어질 때, 주식을 규칙에 맞게 한 번만 사고 팔았을 때 얻을 수 있는 최대 수익을 return 하도록 solution 함수를 작성했습니다. 그러..

Algorithm Problems 2021.03.13

[Cos Pro 2급] 6차 7번 - 최대치 예산 구하기

문제7 예산 내에서 의자와 책상을 하나씩 사려고 합니다. 이때, 의자와 책상 가격의 합이 가장 크게 사려고 합니다. 예를 들어, 돈을 7원을 가지고 있고 의자의 가격이 [2, 5], 책상의 가격이 [4, 3, 5]일 때, 첫번째 의자와 세번째 책상을 구매하면 가격의 합이 7원이고, 이때 의자와 책상 가격의 합이 가장 큽니다. 예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격이 담긴 리스트 desks가 매개변수로 주어집니다. 이때 예산으로 감당할 수 있는 의자와 책상 가격 합의 최댓값을 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. --- #####매개변수 설명 예산 money, 의자의 가격이 담긴 리스트 chairs, 책상의 가격..

Algorithm Problems 2021.03.13

[Cos Pro 1급] 2차 3번 - 당첨인 게시글 찾기

문제 한 사이트에서 아래 조건에 맞는 게시글을 **최초**로 작성하는 이용자에게 경품을 제공하려 합니다. -현재 작성되어있는 가장 마지막 게시글 이후에 작성된 게시글이어야 합니다. -게시글 번호의 자릿수가 짝수여야 합니다. -게시글 번호가 2n 자릿수 일때, 앞 n 자리의 각 자릿수의 합과 뒤 n 자리의 각 자릿수의 합이 같아야 합니다. 이 사이트의 게시글 번호는 마지막에 작성된 게시글 번호부터 1씩 증가합니다. 예를 들어, 가장 마지막 게시글의 번호가 235386이라면, 이후에 작성되는 게시글의 번호는 235387, 235388 ... 이 되며, 번호가 235387 이상인 게시글이 경품당첨의 대상이 됩니다. 당신은 경품을 받기위해 앞으로 게시글을 몇 개 더 작성해야 하는지 구하려 합니다. 이를 위해 다..

Algorithm Problems 2021.03.07

[Cos Pro 1급] 6차 4번 - 카드 뭉치

문제 1부터 n까지 숫자가 적힌 카드 뭉치를 다음 규칙에 따라 카드 뭉치를 섞었을 때, 아래에서부터 k번째에 있는 카드에 적힌 숫자를 알아내려합니다. 카드 뭉치 가장 아래에는 1이 쓰여있으며, 위로 갈수록 숫자가 커집니다. 카드 뭉치를 섞는 규칙은 다음과 같습니다. 1. 카드 뭉치를 정확히 반으로 나눕니다. 2. 두 개로 나뉜 카드 뭉치를 교차로 섞어서 카드 뭉치 하나를 만듭니다. 이때, 항상 1이 적힌 카드가 있는 뭉치를 아래로 놓고 섞습니다. 3. 위 과정을 반복합니다. 예를 들어, 1부터 6까지 숫자가 적힌 카드 뭉치를 3번 섞는다면 과정별로 아래에서부터 적힌 숫자는 다음과 같습니다. | 횟수 | 카드 뭉치 | |------|--------------------| | 1 | [1, 4, 2, 5, ..

Algorithm Problems 2021.02.16

[Cos Pro 2급] 4차 3번 - 카드 게임

문제 A와 B가 카드 게임을 할 때, 누가 더 많은 점수를 획득했는지, 또 획득한 점수는 몇 점인지 알아보려고 합니다. 게임 규칙은 다음과 같습니다. * 알파벳 a, b, c, d, e가 적힌 카드뭉치가 있습니다. * A와 B가 서로 번갈아 가면서 n장씩 카드를 뽑습니다. * 소유한 카드 점수를 합산합니다. 알파벳 카드 한 장당 a = 1점, b = 2점, c = 3점, d = 4점, e = 5점으로 점수를 계산합니다. * 점수가 높은 사람이 승리합니다. 게임에서 이긴 사람과 획득 점수를 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. A와 B가 번갈아가며 가져간 카드를 각각 리스트에 넣습니다. 2. A와 B가 각각 획득한 점수를 구합니다. 3. 획득한 점수가 큰 사람과 획득한 점수를 순서대..

Algorithm Problems 2021.02.14

[Cos Pro 1급] 3차 5번 - 암스트롱 수 (자아도취 수/ 나르시시즘 수)

문제 어떤 자리 수 k가 주어졌을 때 각 자릿수의 k 제곱의 합이 원래 수가 되는 수를 자아도취 수라고 합니다. 예를 들어 153은 세 자리 자아도취 수입니다. 자연수 k가 매개변수로 주어질 때, k 자리 자아도취 수들을 리스트에 오름차순으로 담아 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. 매개변수 설명 k가 solution 함수의 매개변수로 주어집니다. * k는 3 이상 6 이하인 자연수입니다. return 값 설명 k 자리 자아도취 수를 오름차순으로 정렬한 뒤 리스트에 담아 return 합니다. 예시 k return 3 [153, 370, 371, 407] 예시 설명 * 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 15..

Algorithm Problems 2021.02.14

[Cos Pro 2급] 5차 10번 - 교대 근무 일등

문제 n명이 시간표에 따라 교대 근무에 들어갑니다. 이때 가장 오래 일한 사람이 몇 시간 일했는지 알아내려 합니다. 근무 순번은 첫 번째 사람부터 n번째 사람 순으로 합니다. n번 사람이 일을 한 뒤에는 다시 첫 번째 사람부터 일을 합니다. 예를 들어 시간표가 [1, 5, 1, 9]이고 n이 3이면 첫 번째 사람은 1+9시간, 두 번째 사람은 5시간, 세 번째 사람은 1시간 근무합니다. 따라서 첫 번째 사람이 가장 오래 일했으며, 10시간 일했습니다. 근무 시간표를 담은 리스트 time_table과 사람 수 n이 매개변수로 주어질 때, 가장 오래 일한 사람은 몇 시간 일했는지 return 하도록 solution 함수를 작성해주세요. 매개변수 설명 시간표를 담은 리스트 time_table과 사람 수 n이 ..

Algorithm Problems 2021.02.07
728x90
반응형