Algorithm/백준 알고리즘
백준_3060 욕심쟁이 돼지(자바) / 시뮬레이션
미스터로즈
2021. 12. 1. 10:36
시간&메모리 제한
문제풀이
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Back_3060 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testCase = Integer.parseInt(br.readLine());
StringTokenizer st;
StringBuilder sb = new StringBuilder();
for (int tc = 0; tc < testCase; tc++) {
int N = Integer.parseInt(br.readLine());
int ans = 1;
int sum = 0;
st = new StringTokenizer(br.readLine());
for (int i = 0; i < 6; i++) {
sum+=Integer.parseInt(st.nextToken());
}
while(sum<=N) {
sum*=4;
ans++;
}
sb.append(ans+"\n");
}
System.out.println(sb);
}
}
※ 내 생각
이 문제는 시뮬레이션으로 푸는 문제입니다.
먼저 테스트케이스 수를 받아 오고 그 수 만큼 for문을 돌립니다.
for문을 통해 각각의 수를 sum으로 받고, 모든 돼지들이 양 옆, 본인, 맞은편을 더하기 때문에
기존의 값에 4배가 됩니다.
4배 한 값이 사료의 값보다 작을 때까지 for문을 돌려서 해결해 줍니다.