백준 2750 수 정렬하기

2021. 1. 15. 17:12· 알고리즘/백준(BOJ)
반응형

백준 2750 수 정렬하기 문제는 시간복잡도는 상관 없이 정렬만 되면 해결 할 수 있는 문제다.

 

정렬에는 대표적으로 버블 정렬과 삽입 정렬이 있다.

 

아래는 각 정렬 방식에 대한 코드이다.

 

버블 정렬(Bubble Sort)

#include <iostream>
#include <cstring>

using namespace std;

void InsertionSort(int *arr, int length) {
	int key;

	for (int i = 1; i < length; i++) {
		if (arr[i - 1] <= arr[i])
			continue;

		if (arr[i - 1] > arr[i]) {
			key = arr[i];
			for (int j = 0; j < i; j++) {
				if (arr[j] > key) {
					memmove(&arr[j + 1], &arr[j], sizeof(int) * (i - j));
					arr[j] = key;
					break;
				}
			}
		}
	}
}

int main() {
	int N;
	cin >> N;

	int *arr = new int[N];

	for (int i = 0; i < N; i++)
		cin >> arr[i];

	InsertionSort(arr, N);

	for (int i = 0; i < N; i++)
		cout << arr[i] << endl;

	return 0;
}

 

삽입 정렬(Insertion Sort)

#include <iostream>
#include <cstring>

using namespace std;

void InsertionSort(int *arr, int length) {
	int key;

	for (int i = 1; i < length; i++) {
		if (arr[i - 1] <= arr[i])
			continue;

		if (arr[i - 1] > arr[i]) {
			key = arr[i];
			for (int j = 0; j < i; j++) {
				if (arr[j] > key) {
					memmove(&arr[j + 1], &arr[j], sizeof(int) * (i - j));
					arr[j] = key;
					break;
				}
			}
		}		
	}
}

int main() {
	int N;
	cin >> N;

	int *arr = new int[N];

	for (int i = 0; i < N; i++)
		cin >> arr[i];

	InsertionSort(arr, N);

	for (int i = 0; i < N; i++)
		cout << arr[i] << endl;
	
	return 0;
}
반응형

'알고리즘 > 백준(BOJ)' 카테고리의 다른 글

백준 10989 수 정렬하기 3  (0) 2021.01.17
백준 2751 수 정렬하기2  (0) 2021.01.15
백준 10818 최소, 최대  (0) 2021.01.15
백준 2231번 분해합  (0) 2021.01.11
백준 2798번 블랙잭  (0) 2021.01.11
'알고리즘/백준(BOJ)' 카테고리의 다른 글
  • 백준 10989 수 정렬하기 3
  • 백준 2751 수 정렬하기2
  • 백준 10818 최소, 최대
  • 백준 2231번 분해합
오뚜깅
오뚜깅
오뚜깅
오뚜깅
오뚜깅
전체
오늘
어제
  • 분류 전체보기
    • 취업인생
    • Programming
      • C & C++
      • Python
      • OpenCV
      • PCL
      • ROS
      • Deep learning
      • Network
    • 알고리즘
      • 이론
      • 백준(BOJ)
      • 프로그래머스(Programmers)
    • Project
    • IT
      • 우분투
    • 일상
      • 말씀 묵상
      • 끄적임
      • 영어 일기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • clustering
  • rospy
  • 2292
  • 백준2798
  • 우분투
  • pytorch
  • cv_bridge
  • pointcloud
  • graphicdriver
  • cuda설치
  • DeepLearning
  • opencv
  • installcuda
  • 사용자지정정규화공식
  • imageclustering
  • C++
  • cudaversion
  • PointCloudLibrary
  • CUDA
  • kmeansclustering
  • OtsuAlgorithm
  • 백준2231
  • c++code
  • 딥러닝환경구축
  • 오츠알고리즘
  • installcudnn
  • CuDNN
  • installubuntu
  • cuda9.0
  • tensorflowversion

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
오뚜깅
백준 2750 수 정렬하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.