RUBY

[백준] 줄 세우기 본문

PS/BOJ

[백준] 줄 세우기

RUBY_루비 2024. 2. 17. 23:00

출처:: https://www.acmicpc.net/problem/10431

분류:: 문자열

 

1. 문제 이해 및 해결과정

삽입정렬 
시간복잡도 : O(P*N^2)

 

 

2. 풀이방법


import sys

p = int(input())
arr= [0]*20

for t in range(1,p+1):
    h = list(map(int,input().split()))[1:]
    cnt=0

    for i in range(20):
        for j in range(i):
            #줄 서있는 학생 중에 자신보다 큰 학생을 찾는다.  
            if(h[j]>h[i]):
                tmp = h[i]
                #그 학생과 그 뒤의 학생이 모두 한 칸씩 뒤로간다. 
                for k in range(i,j,-1):
                    h[k] = h[k-1]
                    cnt+=1
                h[j] = tmp
                break

    print(t,cnt)

 

3. 오답원인

 

4. 알게된 점

 

'PS > BOJ' 카테고리의 다른 글

[백준]진법 변환 2  (0) 2024.02.18
[백준] 유레카 이론  (0) 2024.02.18
[백준] 성 지키기  (0) 2024.02.17
[백준]수 정렬하기 3  (0) 2024.02.17
[백준] 빠른 A+B  (0) 2024.02.17
Comments