[BOJ/백준] 1138. 한 줄로 서기 (python)

노다현·2021년 1월 1일
0

알고리즘

목록 보기
14/22
post-thumbnail
post-custom-banner

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

Problem

자신보다 키가 큰 사람이 자신의 왼쪽에 몇명이나 있는지 주어지면 그에 맞게 자신의 자리에 찾아가면 되는 문제

Solution

반복문의 인덱스 값이 한 번 돌 때마다 하나씩 증가하는 특징을 이용하면 되는데
처음에는 머리가 안 돌아가서 하나하나 따로 인덱스 값을 주고 증가시키면서 고생을 했다..

결과 값을 저장시킬 배열에 자신보다 키가 큰 값들을 넣을 자리만큼 비운 후, 자신이 들어갈 자리가 비어있으면 그 자리에 들어가면 된다.

예를 들어, 입력받은 배열 arr의 인덱스 0의 값이 1이면 왼쪽에 1보다 큰 수가 하나 있다는 말이므로 한 칸 띄워야 하고, 한 칸을 띄운 곳이 0, 즉 비어있어야 한다.

비어있기는 하지만 자신의 자리가 아니라면 한 칸 더 띄워야 하므로 cnt를 1 증가시켜 주면서 자리도 한칸 뒤로 밀린다.

Python Code

profile
DAilyHYUN.log
post-custom-banner

0개의 댓글