[이것이코딩테스트다] 그리디 복습

HO94·2021년 6월 22일
0

2021.06.22

내일부터 '이것이 코딩테스트다'로 스터디를 한다.

내일까지 부록A와 그리디를 공부해오기로 했는데,
난 이미 진도를 조금 나가버린 상태라 진도를 맞추기 위해 복습을 했다.

다시 문제를 푸는데, 프로그래머스에서 제공? 나오는? 형태처럼 함수로 만들어봤다.

<2> 큰 수의 법칙

m = 8
k = 3

def big_number(list):
  list.sort()

  first_number = list[-1]
  second_number = list[-2]
  return ((first_number*(k-1) + second_number) * int(m / k)) + (first_number * (m % k))

big_number([2, 4, 5, 4, 6])

<3> 숫자카드게임 함수

number = [[1,2,3],[4,5,6],[7,8,9]]

min_number = []
def min_max(list):
  for i in list:
    min_number.append(min(i))
  print(max(min_number))

min_max(number)

<4> 1이 될때까지 함수

def to_one(num1, num2):
  count = 0
  while num1 >= num2:
    if num1 % num2 == 0:
      num1 = num1 / num2
      count += 1
    else:
      num1 -= 1
      count += 1
  print(count)

to_one(25,5)
to_one(17,4)

역시 여기는 이제 쉽고 금방 풀 수 있다.

0개의 댓글