SWExpert/D3

[D3] 3142. 영준이와 신비한 뿔의 숲(Python 파이썬 풀이)

MakeMoneying 2020. 9. 1. 10:20

3142. 영준이와 신비한 뿔의 숲 (Python 파이썬 풀이)

출처

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV_6xWk6sbADFAWS&categoryId=AV_6xWk6sbADFAWS&categoryType=CODE

문제

영준이는 신비한 짐승들이 살고 있는 뿔의 숲을 지나왔다.

이 숲에는 뿔이 한 개 달린 유니콘과 뿔이 두 개 달린 트윈혼이 살고 있다.

영준이는 N개의 뿔과 M마리의 짐승을 보았다.

영준이가 본 유니콘의 수와 트윈혼의 수는 몇 마리일까?

만약 영준이가 5개의 뿔과 3마리의 짐승을 봤다면, 유니콘 1마리와 트윈혼 2마리였을 것이다.

입력

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스마다 첫 번째 줄에 두 정수 n, m (1 ≤ n ≤ 300, m ≤ n ≤ 2m)이 공백으로 구분되어 주어진다.

출력

각 테스트 케이스마다 영준이가 본 유니콘의 수와 트윈혼의 수를 공백으로 구분하여 출력한다.

입력
출력
 2 // Test Case의 개수
 5 3 // N = 5, M = 3
 7 5

 #1 1 2
 #2 3 2

문제 해석

어릴 적, 토끼와 닭들의 총 마리수와 다리 개수를 알 때, 토끼와 닭들이 각각 몇마리가 있는지 찾는 문제가 생각나게 하는 문제다.
이 문제에서는 총 마리수가 M이고, 뿔의 개수는 N개이다.
만약 모든 짐승들이 트윈혼이라면 N은 2 X M이 될것이다.
만약 한 마리만 유니콘이고 남은 짐승들이 트윈혼이라면 N은 (2 X M) - 1개 이다.
만약 두 마리를 유니콘이고 남은 짐승들이 트윈혼이라면 N은 (2 X M) - 2개 이다.
이런 식으로, 우리는 N가 M을 알고 있음으로 유니콘 마리 수를 바로 구할 수가 있다. 유니콘의 마리수를 Answer라고 하자.

$ N = (2\times M)-Answer $

그러므로,

$ Answer = (2\times M)-N $

이제 코드로 문제를 풀어보자

문제 풀이

1
2
3
4
for Count in range(int(input())):
    N,M = map(int,input().split()) # N은 뿔의 개수, M은 마리 수
    Answer = 2*- N # 전부 트윈 혼일때 뿔 개수 - 부족한 뿔 개수 = 유니콘 수
    print("#{} {} {}".format(Count+1,Answer,M-Answer))
cs

출처

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV_6xWk6sbADFAWS&categoryId=AV_6xWk6sbADFAWS&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com