관리 메뉴

솜씨좋은장씨

[BaekJoon] 17588번 : Missing Numbers (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 17588번 : Missing Numbers (Python)

솜씨좋은장씨 2023. 3. 20. 22:46
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 Missing Numbers 입니다.

 

17588번: Missing Numbers

The first line of input contains a single integer n, where 1 ≤ n ≤ 100. Each of the next n lines contains one number that the child recited. Each recited number is an integer between 1 and 200 (inclusive). They are listed in increasing order, and there

www.acmicpc.net

👨🏻‍💻 문제 풀이

set 을 활용하여 문제를 풀었습니다.

입력 받은 수에서 가장 큰 수를 찾고 이 수와 range 함수를 활용하여 1부터 가장 큰 수 까지의 숫자 리스트를 만들어줍니다.

max_number = max(number_list)

range_number_list = set(range(1, max_number + 1))

이렇게 만든 숫자 리스트에서 입력 받은 숫자리스트 set 을 빼서 입력 받은 수 중에 빠진 수를 구하였습니다.

missing_number_list = range_number_list - set(number_list)

마지막으로 이렇게 구한 수를 오름차순으로 정렬하였습니다.

def print_answer(answer):
    if answer:
        for ans in answer:
            print(ans)
    else:
        print("good job")

마지막으로 문제에서 원하는대로 출력하는 함수를 만들어서 해당 함수로 정답을 출력하면 끝!

👨🏻‍💻 코드 ( Solution )

def missing_numbers(number_list):
    max_number = max(number_list)
    
    range_number_list = set(range(1, max_number + 1))
    
    missing_number_list = range_number_list - set(number_list)
    
    return sorted(missing_number_list)


def print_answer(answer):
    if answer:
        for ans in answer:
            print(ans)
    else:
        print("good job")


if __name__ == "__main__":
    number_list = []
    
    for _ in range(int(input())):
        number = int(input())
        number_list.append(number)
        
    print_answer(answer=missing_numbers(number_list=number_list))

 

 

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