[BOJ] 1377 버블 소트

oneju·2023년 6월 7일
0

Algorithm

목록 보기
10/11
post-thumbnail

📦 문제

[백준] 1049 문제링크
문제
C++ 코드

💡 버블소트를 단계별로 진행하면서 , 만약 정렬이 됐다면 break
💡 몇 단계만에 배열이 정렬되었는지 구하는 코드

🔨 주의할 점

문제를 제대로 읽는게 핵심

c++ 코드를 그대로 옮기면 시간 초과가 난다는 것

⚡️ 풀이

A = [(int(input()),i)for i in range(N)]

배열의 원소들을 입력받을 때 해당 인덱스 값과 함께 입력받는다

if cnt < A[i][1]-i:
	cnt=A[i][1]-i

기존 인덱스와 바뀐 인덱스의 차이가 가장 큰 값을 저장한다

Bubble Sort
인접한 두 수를 비교해서 뒤에 수가 더 작으면 위치를 바꾸는 정렬 알고리즘

A[i][1]-i 이 값이 음수가 나온다는 것 ? 오른쪽으로만 이동했다는 것
→ 하나라도 오른쪽으로 갔다는 것 ? 다른 하나는 왼쪽으로 이동했다는 것

: 가장 큰 값이 단계의 횟수를 나타낸다는 것 이다

[github] 1377 해결 코드

profile
hello, world

0개의 댓글