관리 메뉴

솜씨좋은장씨

[BaekJoon] 11006번 : 남욱이의 닭장 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 11006번 : 남욱이의 닭장 (Python)

솜씨좋은장씨 2022. 11. 11. 11:11
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 남욱이의 닭장입니다.

 

11006번: 남욱이의 닭장

계란집을 운영하는 남욱이는 매일 닭장에서 달걀을 수거해간다. 어느 날 닭장에 들어가보니 일부 닭의 다리가 하나씩 사라졌다. 남욱이는 얼마나 많은 닭들이 한 다리를 잃었는지 알고싶었

www.acmicpc.net

🧑🏻‍💻 문제 풀이

남욱이의 닭장문제는

닭의 다리가 한마리당 한개씩만 없어진다는 조건 하에

- 모든 닭의 다리수의 합과 ( N )

- 모든 닭의 수 ( M )

를 전달 받으면

- 다리가 잘린 닭의 수와  ( U )

- 멀쩡한 다리를 가진 닭의 수를 ( T )

공백을 두고 나란히 출력하는 문제입니다.

 

먼저 모든 닭의 수를 활용하여 모든 닭이 다리를 온전하게 가지고 있었다면 존재해야할 다리 개수부터 구해주었습니다.

닭의 다리는 2개이므로 아래와 같이 구하면 됩니다.

$$ 모든 닭의 정상 다리개수 = 모든 닭의 수(M) * 2 $$

total_leg = M * 2

모든 닭은 다리를 1개씩만 잃는다는 조건이 붙었으므로 다리를 잃은 닭의 수는 아래와 같이 구합니다.

$$ 다리를 잃은 닭의 수 = 모든 닭의 정상 다리개수 - 모든 닭의 남아있는 다리수의 합(N)$$

lost_leg_chicken = total_leg - N

정상인 닭의 수는 당연히 전체 닭의 수 - 다리를 잃은 닭의 수 이므로 아래와 같이 작성하였습니다.

U = lost_leg_chicken
T = M - U

마지막으로 구한 값들을 정답 형식에 맞게 f-string 으로 문자열을 만들어주면 끝!

answer = f"{U} {T}"

전체 코드는 아래를 참고해주세요.

🧑🏻‍💻 코드 ( Solution )

def namwooks_chicken_coop(N, M):
    total_leg = M * 2
    
    lost_leg_chicken = total_leg - N
    
    U = lost_leg_chicken
    T = M - U
    
    return f"{U} {T}"


if __name__ == "__main__":
    T = int(input())
    
    for _ in range(T):
        N, M = map(int, input().split())
        
        print(namwooks_chicken_coop(N=N, M=M))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments