본문 바로가기
Algorithm

[구현/수학] 백준 14656 조교는 새디스트야!! - 파이썬(Python)

by jangThang 2022. 4. 30.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    14656번: 조교는 새디스트야!!

    첫 번째 줄에 헌우네 반 학생의 수 N이 주어진다. (1 ≤ N ≤ 20,000) 두 번째 줄에 학생들의 번호가 현재 줄을 서있는 순서대로 주어진다. (1 ≤ 번호 ≤ N) 중복되는 번호는 없다.

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     순서에 맞지 않은 위치에 서 있는 사람을 골라내는 문제입니다. 

     

    index: 1 2 3 4 5
    num:  3 2 5 4 1

     위 경우, 순서에 맞지 않은 사람은 3명입니다.

     

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    n = int(input())
    numlist = list(map(int, input().split()))
    
    # 순서 안 맞는 사람 골라내기
    baseball = 0 # 엉덩이가 야구공이 될 사람 수
    for idx, num in enumerate(numlist, 1):
        # 순서에 맞지 않으면 엉덩이가 야구공이 되도록 맞음
        if idx != num:
            baseball += 1
    print(baseball)

     열거형 enumerate를 이용하면 굳이 index 변수를 선언하지 않아도 됩니다. idx 변수와 같지 않은 사람은 순서가 맞지 않은 경우이므로, 맞을 사람+1 해줍니다.

     

    star가 되고나서 Tistory

    반응형

    댓글