[PYTHON] 1453 피시방 알바 - set으로 중복제거/스택

     

    https://www.acmicpc.net/problem/1453

     

    1453번: 피시방 알바

    첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어하는 자리가 입력으로 주어진다.

    www.acmicpc.net

    solution - 전체 학생 수에 중복된 개수 빼기

    import sys
    N = int(sys.stdin.readline().strip())
    numbers = sys.stdin.readline().strip().split()
    
    print(len(numbers) - len(set(numbers)))

    solution - 스택으로 풀기

    import sys
    N = int(sys.stdin.readline().strip())
    numbers = sys.stdin.readline().strip().split()
    
    # 이미 차지한 컴퓨터 번호 리스트
    seat = []
    # 거절 당하는 사람의 수를 카운팅 함.
    cnt = 0 
    
    for num in numbers:
      if num not in seat: # 이미 차지한 컴퓨터 번호 리스트에 없으면
        seat.append(num) # 리스트에 컴퓨터 번호를 추가하고
      else: # 이미 누가 차지하여 번호가 있으면
        cnt += 1 # 카운팅을 증가함
    print(cnt)

    중복을 제거하는 set에 대해 이해가 가지 않는다면, set을 정리한 아래의 글을 참고해주세요~

    2023.01.15 - [algorithm/백준] - [PYTHON]4673 셀프넘버 set()/중복제거/차집합/합집합/교집합

     

    [PYTHON]4673 셀프넘버 set()/중복제거/차집합/합집합/교집합

    https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(7

    menduck.tistory.com

     

    'algorithm > 백준' 카테고리의 다른 글

    [PYTHON] 2720 세탁소 사장 동혁  (0) 2023.01.30
    [PYTHON] 2161 카드1  (0) 2023.01.30
    [PYTHON] 2675 문자열 반복 - 문자열 반복하기 *  (0) 2023.01.30
    [PYTHON] 1316 그룹단어 체커  (0) 2023.01.30
    [PYTHON] 11047 동전 0  (0) 2023.01.30

    댓글