3060번: 욕심쟁이 돼지
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 두 줄로 구성되어 있고, 첫째 줄에는 하루에 배달되는 사
www.acmicpc.net
문제
유명한 농부 박현수는 돼지 6마리를 키우고 있다. 그는 하루에 한 번씩 돼지에게 맛있는 밥을 준다.
돼지는 원형 식탁에 앉아서 식사를 한다. 현수의 돼지들은 기억력이 뛰어나기 때문에 전 날 자신의 양쪽과 맞은편에 앉았던 돼지가 먹었던 양을 기억하고 있다. 또, 욕심도 많기 때문에, 그 만큼의 양을 추가하여 식사를 하기를 원한다.
예를 들어, 현수가 1번부터 6번까지 돼지에게 각각 3, 2, 7, 1, 5, 4만큼 밥을 주었다면, 2번 돼지는 첫 날 받은 양 2에다 양쪽과 맞은편 돼지가 받은 양 15(3+7+5)만큼을 더해 17만큼 받기를 원한다.
마음씩 좋은 농부 박현수는 이런 돼지의 요구를 모두 들어주려고 한다. 매일 현수의 집에 신선한 사료가 N만큼 배달된다. 사료의 유통기한은 하루이기 때문에, 남은 사료는 모두 폐기한다.
첫 날 돼지들이 먹었던 양이 주어졌을 때, 현수가 6마리의 돼지들의 요구를 들어줄 수 없게 되는 날이 몇 번째 날인지 구하는 프로그램을 작성하시오.
![](https://blog.kakaocdn.net/dn/EoFqC/btrtJArguOv/U83w25KPyr3yXLkfKb2X50/img.png)
입력
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 두 줄로 구성되어 있고, 첫째 줄에는 하루에 배달되는 사료의 양 N (1<=N<=500,000,000)이 주어진다. 그 다음 줄에는 1, 2, 3, 4, 5, 6번 돼지가 첫 날 먹었던 식사의 양이 빈 칸을 사이에 두고 차례대로 주어진다. 첫째 날에 각 돼지가 먹는 사료의 양은 100이하의 자연수이다.
출력
각 테스트 데이터에 대해, 6마리 돼지의 요구를 모두 들어줄 수 없게 되는 날이 몇 번째 날인지 출력한다.
풀이
/*
* 입력
* 1. 테스트 케이스 T
* 2. 하루에 배달되는 사료의 양 N
* 3. 1 2 3 4 5 6번 돼지가 첫날에 먹었던 식사의 양
*
* 출력
* 요구를 들어줄 수 없게 되는 날
*
* >> 첫날+양쪽+건너편 돼지가 먹은 양만큼 둘째날에 줘야 함
* >> 다 더한 값이 N보다 작아야 함
* >> 전체 더한 값의 4배만큼 다음 날에 줘야 함
*/
생각보다 간단한 문제였다 처음에는 큐를 써야 하나 싶었는데 단순 산수로도 풀린다
코드
package im형필수문제;
import java.util.*;
import java.io.*;
public class s5_3060_욕심쟁이돼지 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int tc = 1; tc<=T; tc++) {
int N = Integer.parseInt(br.readLine());
int sum = 0;
int cnt = 1;
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i<6; i++) {
sum += Integer.parseInt(st.nextToken());
}
while(sum<=N) {
sum *= 4;
cnt++;
}
System.out.println(cnt);
}
}
}
결과
#자바 #java #boj #백준 #알고리즘
'알고리즘 > BOJ' 카테고리의 다른 글
[java][boj][s4] 1063. 킹 (0) | 2022.02.19 |
---|---|
[java][boj][b2] 2804. 크로스워드 만들기 (0) | 2022.02.18 |
[java][boj][s3] 3085. 사탕 게임 (0) | 2022.02.17 |
[java][boj][g4] 1987. 알파벳 (0) | 2022.02.17 |
[java][boj][s4] 2980. 도로와 신호등 (0) | 2022.02.16 |