ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 10816번: 숫자 카드 2 (Python)
    Algorithm/Baekjoon 2025. 1. 29. 18:39

     

    1.먼저 N, n_list, M, 그리고 m_list에 각각의 정수와 리스트를 입력 받습니다. 

    2. 이중탐색을 사용할 것이므로, n_list를 먼저 정렬시켜줍니다.(.sort()사용)

    python 함수 - bisect_right & bisect_left
    그리고 여기서 사용하는 핵심 함수는 바로 bisect_right와 bisect_left입니다. bisect_right와 bisect_left는 파이썬 함수로서 이분탐색을 더 쉽게 만들어줍니다. 


    bisect_left(list, n)
    • n이 list에서 처음 등장하는 인덱스를 반환합니다.
    bisect_right(list, n)
    • n이 list에서 마지막으로 등장한 다음 위치를 반환합니다.
    따라서 여기서 특정 숫자가 n_list에서 몇 번 나오는지를 확인하기 위해서는 bisect_right(n_list, value) - bisect_left(n_list, value)를 하면 됩니다.

     

    3. 그리고 counter 함수를 만들어서 count 라는 변수에 value값이 n_list에 얼마나 들어있는지를 반환합니다.

    4. for문을 사용하여 m_list의 값들을 counter함수에 인자로 넣고 출력합니다. 

     

    'Algorithm > Baekjoon' 카테고리의 다른 글

    백준 2512번:예산(Python)  (0) 2025.01.28
Designed by Tistory.