데이터사이언스 기록기📚

[백준/Python] 10431번(구현, 시뮬레이션)_줄세우기 본문

Coding Test/백준(Python)

[백준/Python] 10431번(구현, 시뮬레이션)_줄세우기

syunze 2023. 4. 12. 14:33

📌문제 유형

구현, 시뮬레이션 (실버5)

 

📌문제

 

10431번: 줄세우기

초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1

www.acmicpc.net

 

📌나의 문제풀이

p =int(input())

for k in range(1,p+1):
    height_sort = []
    height = list(map(int, input().split()))
    ans = 0
    for i in range(1,len(height)):
        if i == 1:
            height_sort.append(height[i])
            continue

        now = height[i]
        if now > max(height_sort):
            height_sort.append(now)
            continue

        for j in range(len(height_sort)):
            if height_sort[j] > now:
                height_sort.insert(j, now)
                ans += (len(height_sort) - j - 1)
                break
    print(k,ans)

 

📌 다른사람의 문제풀이

 

[백준] 10431번 줄세우기 . python

' 10431번 줄세우기 'https://www.acmicpc.net/problem/10431첫 줄에 테스트 케이스의 수 P (1 ≤ P ≤ 1000) 가 주어진다.각 테스트 케이스는 테스트 케이스 번호 T와 20개의 양의 정수가 공백으로 구분되어 주어

velog.io

P=int(input())
for _ in range(P):
    arr=list(map(int,input().split()))
    total=0
    for i in range(1,len(arr)-1):
        for j in range(i+1,len(arr)): # i 뒤에 애들과 전부 비교해서
            if arr[i] > arr[j]:  # i가 더 크면
                arr[i],arr[j] = arr[j],arr[i]  # 자리바꾸기
                total+=1
    print(arr[0], total)

 

📌 리뷰

- ans 계산 과정에서 -1 안해서 처음에 틀림

- 문제 조건 정확히, 빠짐없이 확인하기

728x90
Comments