관리 메뉴

솜씨좋은장씨

[BaekJoon] 25893번 : Majestic 10 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 25893번 : Majestic 10 (Python)

솜씨좋은장씨 2022. 10. 29. 12:23
728x90
반응형

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

 

25893번: Majestic 10

The movie “Magnificent 7” has become a western classic. Well, this year we have 10 coaches training the UCF programming teams and once you meet them, you’ll realize why they are called the “Majestic 10”! The number 10 is actually special in many

www.acmicpc.net

👨🏻‍💻 문제 풀이

입력받은 세개의 수 중에서 10보다 큰 수를 찾은 다음

def get_numbers_more_10(number_list):
    return [number for number in number_list if number >= 10]

10보다 큰 수의 개수가 

  • 0개 일때 zilch
  • 1개 일때 double
  • 2개 일때 double-double
  • 3개 일때 triple-double

를 출력하는 문제입니다.

answer_dict = {
    0: "zilch", 1: "double", 2: "double-double", 3: "triple-double"
}

각 개수마다 출력할 문자열을 dictionary로 만들어 두었습니다.

answer_string_list = []

more_10_num = get_numbers_more_10(
    number_list=number_list
)
        
more_10_num_len = len(more_10_num)

answer = answer_dict[more_10_num_len]
        
number_list = list(map(str, number_list))
answer_string = f"{' '.join(number_list)}\n{answer}"
answer_string_list.append(answer_string)
    
정답 : "\n\n".join(answer_string_list)

10 보다 큰 수를 구하고 그 개수로 출력할 문자열을 dictionary 에서 꺼낸 다음

more_10_num = get_numbers_more_10(
    number_list=number_list
)
        
more_10_num_len = len(more_10_num)

answer = answer_dict[more_10_num_len]

입력받은 숫자와 출력할 문자열을 정답형식으로 만들어서 리스트에 넣어둔 다음

number_list = list(map(str, number_list))
answer_string = f"{' '.join(number_list)}\n{answer}"

개행문자 2개로 join하고 출력합니다.

정답 : "\n\n".join(answer_string_list)

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

👨🏻‍💻 코드 ( Solution )

def get_numbers_more_10(number_list):
    return [number for number in number_list if number >= 10]


def majestic_10(number_lists):
    answer_string_list = []
    for number_list in number_lists:
        answer_dict = {
            0: "zilch", 1: "double", 2: "double-double", 3: "triple-double"
        }

        more_10_num = get_numbers_more_10(
            number_list=number_list
        )
        
        more_10_num_len = len(more_10_num)

        answer = answer_dict[more_10_num_len]
        
        number_list = list(map(str, number_list))
        answer_string = f"{' '.join(number_list)}\n{answer}"
        answer_string_list.append(answer_string)
    
    return "\n\n".join(answer_string_list)


if __name__ == "__main__":
    number_lists = []
    for _ in range(int(input())):
        number_list = list(map(int, input().split()))
        number_lists.append(number_list)
        
    print(majestic_10(number_lists=number_lists))
 

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