분류 전체보기(326)
-
그리디 : 숫자 카드 게임 [ 이것이 코딩테스트다 ] [ Python ]
문제 숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다. 1. 숫자가 쓰인 카드들이 N * M 형태로 놓여 있다. 이때 N 은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 2. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 3. 그 다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 4. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. N + + + [3, 1, 2] + [4, 1, 4] + M [2, 2, 2] + 여기..
2023.04.19 -
프로그래머스 피자 나눠 먹기(1) [ Python ]
문제 설명 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 7 1 1 1 15 3 입출력 예 #1 7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다. 입출력 예 #2 1명은 최소 한 조각을 먹기 위해 1판이 필요합니다. 입출력 예 #3 15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다. 코드 import math def solution(n): pizza = 7 answer = math.floor((n-1)/pizza)+1 return answer 다른 사람 코..
2023.04.19 -
프로그래머스 배열의 평균값 [ Python ]
문제 설명 정수 배열 numbers 가 매개변수로 주어집니다. numbers 의 원소의 평균 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 0 ≤ numbers 의 원소 ≤ 1,000 1 ≤ numbers 의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5 인 경우만 입력으로 주어집니다. 입출력 예 numbers result [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0 입출력 예 #1 numbers의 원소들의 평균 값은 5.5입니다. 입출력 예 #2 numbers의 원소들의 평균 값은 94.0입니다. 코드 def solution(numbers): answer = su..
2023.04.19 -
그리디 : 큰 수의 법칙 [ 이것이 코딩테스트다 ] [ Python ]
문제 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M 번 더하여 가장 큰 수를 만드는 법이다. 단, 배열의 특정한 인덱스(번호) 에 해당하는 수가 연속해서 K 번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어 순서대로 2, 4, 5, 4, 6 으로 이루어진 배열이 있을 때 M 이 8이고, K 가 3이라고 가정하자. 이 경우 특정한 인덱스의 수가 연속해서 세 번까지만 더해질 수 있으므로 큰 수의 법칙에 따른 결과는 6+6+6+5+6+6+6+5 인 46 이 된다. 단 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로 간주한다. 예를 들어 순서대로 3, 4, 3, 4, 3 으로 이루어진 배열이 있을 때 M 이 7 이고, K 가 2라고 가정하자. 이 경우 두 번째 원소에..
2023.04.18 -
그리디 : 거스름돈 [ 이것이 코딩테스트다 ] [ Python ]
문제 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N 원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N 은 항상 10의 배수이다. tip) 가장 큰 화폐 단위부터 돈을 거슬러준다. 나의 코드 n = 1260 money = [ 500, 100, 50, 10] result = 0 for i in money: result = result + (n // i) # 500원 먼저 최대로 넣음 첫 루프때 n 은 1260 i 는 500 나눈값인 2를 result 에 넣는다. n = n % i # 왼쪽 변수에 오른쪽 값을 나눈후 그 나머지를 할당한다. 첫..
2023.04.18 -
프로그래머스 머쓱이보다 키 큰 사람 [ Python ]
문제 설명 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 200 1 ≤ array의 원소 ≤ 200 입출력 예 array height result [149, 180, 192, 170] 167 3 [180, 120, 140] 190 0 입출력 예 설명 입출력 예 #1 149, 180, 192, 170 중 머쓱이보다 키가 큰 사람은 180, 192, 170으로 세 명입니다. 입출력 예 #2 180, 120, 140 중 ..
2023.04.18