[백준/BOJ] 3213. 피자 [Silver 4]

jychan99·2021년 11월 25일
0
post-thumbnail
  1. 피자

문제출처 : https://www.acmicpc.net/problem/3213

이게 번역이 잘못되서 마지막줄 모든 친구들이 정확히 한 조각씩 피자를 가져야한다는말은

3/4조각을 1/4,1/2로 쪼갤수 없다는 의미이다.

그러니까 3/4,1/2조각은 1판하고 1/4을 먹는게아니라 2판을시켜서 3/4조각을먹고 1/2조각을 먹어야 한다는 말이다.

코딩자체는 그렇게 어렵지않다.
code

#include <stdio.h>
#include <string.h>

char friend[10001][5] = { 0 };
int main()
{
	int N, i, piece1 = 0, piece2 = 0, piece3 = 0, result = 0, rest = 0;
	scanf("%d", &N);
	for (i = 0; i < N; i++)
		scanf("%s", friend[i]);

	for (i = 0; i < N; i++)
	{
		if (strcmp(friend[i], "1/4")==0)
			piece1++;
		else if (strcmp(friend[i], "1/2")==0)
			piece2++;
		else
			piece3++;
	}
	if (piece2 % 2 == 0)
		result += piece2 / 2;
	else
	{
		result += piece2 / 2;
		rest += 2;
	}

	if (piece1 == piece3)
		result += piece1;
	else if (piece1 > piece3)
	{
		result += piece3;
		rest += piece1 - piece3;
	}
	else if (piece1 < piece3)
	{
		result += piece1 + (piece3 - piece1);
	}

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

	printf("%d",result);

	return 0;
}
profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐥

0개의 댓글