본문 바로가기

코딩테스트2

과일 장수 [프로그래머스 lv1] 문제. 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만.. 2024. 4. 4.
시간 복잡도/ 디버깅 1. 시간 복잡도 시간 복잡도는 어떤 작업을 수행하는 데 걸리는 시간을 어떻게 측정하는지에 대한 개념입니다. 이것은 주로 컴퓨터 과학에서 사용되며, 우리는 알고리즘(특정 작업을 수행하는 방법)의 효율성을 평가하기 위해 시간 복잡도를 분석합니다. 알고리즘에서는 주어진 문제를 해결하기 위한 연산 횟수를 의미합니다. 코딩 테스트에서는 시간 복잡도를 표현할 때 일반적으로 "Big O 표기법"을 사용합니다. Big O 표기법은 최악일 때의 연산 횟수를 기준으로 나타내는 표기법입니다. 시간 복잡도의 도출 기준 1. 상수는 시간 복잡도에서 제외된다. 2. 가장 많이 '중첩'된 반복문의 횟수가 시간 복잡도의 기준이 된다. 아래 예제를 통해 설명을 풀어보겠습니다. def once_loops(n): # 첫 번째 루프 fo.. 2023. 10. 22.