💡문제 설명
문제 : https://www.acmicpc.net/problem/2750
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력
N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.출력
N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.💡요구사항 분석
정렬되지 않은 배열이 있다고 가정합니다. (오름차순 정렬)
알고리즘 배열에 첫번째 원소와 두번째 원소와 대소를 비교하여 두 수를 교환합니다.
두번째 원소와 세번째 원소 크기를 비교한 후 조건에 부합한다면 교환합니다.
세번째 원소와 네번째 원소를 비교합니다 조건에 따라 교환합니다.
네번째 원소와 마지막 원소를 비교한 후 조건에 따라 교환합니다.
이 과정을 반복을 해주면 정렬이 완료됩니다.
맨마지막 원소는 정렬이 된 수이기 때문에 예외처리가 필요합니다.

💡코드풀이
import sys
sys 라이브러리를 사용합니다.n = int(sys.stdin.readline())
arr = []
for i in range(n):
arr.append(int(sys.stdin.readline()))
N 번의 반복문을 수행하면서 배열에 값을 넣어줍니다.for i in range(n):
for j in range(n - i - 1):
for i in range(n):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
arr[j] > arr[j + 1] 의 조건이 부합하면 두 수를 교환하는 로직입니다.for i in arr:
print(i)
import sys
n = int(sys.stdin.readline())
arr = []
for i in range(n):
arr.append(int(sys.stdin.readline()))
for i in range(n):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
for i in arr:
print(i)
💡버블정렬에 대해