-
[올리브씨의 알고리즘 입문] Day 4 - 수학, 배열알고리즘/프로그래머스_입문 2024. 3. 27. 12:01
013. 피자 나눠 먹기(1)
문제 설명.
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
제한 사항.
1 ≤ n ≤ 100
입출력 예.
n result 7 1 1 1 5 3
풀이.
class Solution { public int solution(int n) { int i = 1; while(7*i/n<1){ i++; } return i; } }
다른 풀이.
class Solution { public int solution(int n) { return (n + 6) / 7; } }
014. 피자 나눠 먹기(2)
문제 설명.
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
제한 사항.
1 ≤ n ≤ 100
입출력 예.
n result 6 1 10 5 4 2
풀이.
class Solution { public int solution(int n) { int i = 1; while(6*i%n!=0){ i++; } return i; } }
015. 피자 나눠 먹기(3)
문제 설명.
머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
제한 사항.
2 ≤ slice ≤ 10
1 ≤ n ≤ 100입출력 예.
slice n result 7 10 2 4 12 3
풀이.
class Solution { public int solution(int slice, int n) { int pizza = 1; if(slice/n<1){ pizza++; while (pizza*slice/n<1){ pizza++; } } return pizza; } }
다른 풀이.
class Solution { public int solution(int slice, int n) { return n % slice > 0 ? n/slice+1 : n/slice; } }
class Solution { public int solution(int slice, int n) { return n / slice + (n % slice == 0 ? 0 : 1); } }
016. 배열의 평균값
문제 설명.
정수 배열 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
풀이.
class Solution { public double solution(int[] numbers) { int sum = 0; double avg = 0; for(int i=0 ; i<numbers.length; i++){ sum += numbers[i]; } avg = (double)sum/numbers.length; return avg; } }
출처 :https://school.programmers.co.kr/ 입문 알고리즘
https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc&languages=java
'알고리즘 > 프로그래머스_입문' 카테고리의 다른 글
[올리브씨의 알고리즘 입문] Day 6 - 문자열, 반복문, 출력, 배열, 조건문 (0) 2024.04.03 [올리브씨의 알고리즘 입문] Day 5 - 수학, 배열 (0) 2024.03.29 [올리브씨의 알고리즘 입문] Day 3 - 사칙연산, 배열, 수학 (2) 2024.03.26 [올리브씨의 알고리즘 입문] Day 2 - 사칙연산, 조건문, 배열 (0) 2024.03.25 [올리브씨의 알고리즘 입문] Day 1 - 사칙연산 (0) 2024.03.25