집게사장의 꿈

백준 C# 10250 ACM 호텔 본문

기타/백준

백준 C# 10250 ACM 호텔

Krapboss 2024. 7. 9. 13:53

https://www.acmicpc.net/problem/10250

 

 

문제

 

W : 호

H : 층

이 주어 질 때,

 

만약 H = 3, W = 5일때,

3번째 손님은 301호에 방을 배정 받는다.

4번째 손님은 102호에 배정 받는다.

 

세로를 기준으로 먼저 배정을 받을 때,

H,W, Index 일 때의 방 호수

 

 

해결

 

층을 기준으로 올림값과, 나눔값으로 XXYY에 해당하는 호수를 찾는다.

 

 

internal class E10250 // ACM 호텔
{
    static void Main(string[] args)
    {
        int TestData = int.Parse(Console.ReadLine());

        for (int i = 0; i < TestData; i++)
        {
            int[] data = Console.ReadLine().Split().Select(x=>int.Parse(x)).ToArray();
            int roomX = ((data[2] + data[0]) % data[0]) == 0 ? data[0] : ((data[2] + data[0]) % data[0]);
            int roomY = (int)Math.Ceiling(data[2]  / (float)data[0]);
            Console.WriteLine("{0:#}{1:0#}",roomX,roomY);
        }
    }
}

 

*RoomX 

나머지값을 구함으로서, 현재의 방의 층수를 구함

 

1 10 2 의 경우 H와 Index의 나머지 값이 존재하지 않음으로, 1의 값을 그대로 대입해줌,

다른 예시로 2 10 6의 경우에도 나머지 값이 존재하지 않으나, 2층에 배정 받아야 하기에, 2의 값을 그대로 대입해

 

*RoomY

층수를 기준으로 방을 배정하기에, Index/H 값을 통해 나온 값을 올림을 취해주면 몇 호 인지 도출됨

 

 

 

출력 시 Format 지정을 통해 출

'기타 > 백준' 카테고리의 다른 글

백준 C# 2920 음계  (0) 2024.07.09
백준 C# 2577 숫자의 개수  (0) 2024.07.09
백준 C# 31403 A+B-C  (0) 2024.07.04
백준 C# 27866 문자와 문자열  (0) 2024.07.04
백준 C# 2475 검증수  (0) 2024.07.04