본문 바로가기
BOJ

[Java] 백준 3213번 - 피자

by yujinkimkim 2023. 1. 21.

3213번: 피자 (acmicpc.net)

 

3213번: 피자

첫째 줄에 친구의 수 N이 주어진다. (1 ≤ N ≤ 10,000) 다음 N개 줄에는 각 친구가 먹을 수 있는 피자의 양이 주어진다. 이 값은 항상 분수이며, 1/4, 1/2, 3/4중 하나이다.

www.acmicpc.net

아~ㄴㅣ

umm

첨에 접근을

걍 1/2입력받으면 sum에 2 더하고

3/4면 3, 1/4는 1 더해서 결과에서 4 나눠주고 반올림 해주는 식으로 했는데

계속 틀렸다길래

구글링 해보니까 요거

문제가 번역이 잘못돼서 3/4 조각은 1/2과 1/4로 나눌 수 없어서

3/4랑 1/2는 한 판을 더 시켜야된다??

.

.

.ಥ_ಥ

설명이 이해 안 가서 그냥~(>_<。)\ 복붙 했슴다


package java1;
import java.util.*;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class study3213 {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		
		String input;
		int p1 = 0;
		int p2 = 0;
		int p3 = 0;
		
		int result = 0;
		int rest = 0;
		for(int i = 0 ; i < n ; i++)
		{
			input = br.readLine();
			
			if(input.equals("1/2"))
				p1 ++;
			else if(input.equals("3/4"))
				p2++;
			else
				p3++;

				
		}
		if (p1 % 2 == 0)
			result += p1 / 2;
		else
		{
			result += p1 / 2;
			rest += 2;
		}

		if (p3 == p2)
			result += p3;
		else if (p3 > p2)
		{
			result += p2;
			rest += p3 - p2;
		}
		else if (p3 < p2)
		{
			result += p3 + (p2 - p3);
		}

		if (result % 4 == 0)
			result += rest / 4;
		else
			result += rest / 4 + 1;


		System.out.println(result);
	}

}

ᓚᘏᗢ

ο(=•ω<=)ρ⌒☆

기엽죵??

 

백준 하다보면

어떻게 코드 짜지

생각도 하기 전에

문제가 이해가 안 가서

생각하는 시간

많을 때도 있는 거 같아용...

독서 좀 해야겠어용...o(TヘTo)

고통이 남기고 간 뒤를 보라! 고난이 지나면 반드시 기쁨이 스며든다.
-괴테

 

댓글