버블 정렬과 moo
시간 제한2초메모리 제한512 MB
이 버블 정렬 구현에서 배열이 정렬될 때까지 바깥쪽 루프가 몇 번 실행되는지 센다.
문제
소 베시는 목장 밖의 진로도 생각하며 여러 온라인 코딩 사이트에서 알고리즘을 배우기 시작했다.
지금까지 베시가 가장 좋아하는 알고리즘은 버블 정렬이다. 길이가 인 배열 를 정렬하는 베시의 소 코드 구현은 다음과 같다.
sorted = false
while (not sorted):
sorted = true
moo
for i = 0 to N-2:
if A[i+1] < A[i]:
swap A[i], A[i+1]
sorted = false
소 코드의 moo 명령은 "moo"를 출력하는 일만 한다. 그런데도 베시는 코드 곳곳에 이 명령을 넣어 둔다.
배열이 주어지면 베시의 코드가 "moo"를 몇 번 출력하는지 구하라.
입력
첫째 줄에 이 주어진다 (). 다음 개 줄에 부터 까지가 한 줄에 하나씩 주어진다. 각 값은 이상 이하의 정수다. 원소가 서로 다르다는 보장은 없다.
출력
"moo"가 출력되는 횟수를 출력한다.