Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Python
- 숙명여자대학교 정보보안 동아리
- siss
- The Loard of BOF
- PHP 웹페이지 만들기
- C언어
- HTML
- XSS Game
- c++
- CSS
- BOJ Python
- hackctf
- 웹페이지 만들기
- 백준
- 생활코딩
- Sookmyung Information Security Study
- 기계학습
- 숙명여자대학교 정보보안동아리
- 파이썬
- c
- hackerrank
- 머신러닝
- Javascript
- BOJ
- SWEA
- 자료구조 복습
- lob
- 드림핵
- 풀이
- WarGame
Archives
- Today
- Total
혜랑's STORY
[HackerRank_C] Insertion Sort - Part 1 본문
자료구조 복습용 sorting 문제입니다.
- 문제
정렬된 리스트에 새로운 값을 오른쪽에 넣는다 하였을 때 올바른 자리에 넣기까지의 과정을 출력하라.
- 풀이
// Complete the insertionSort1 function below.
void insertionSort1(int n, int arr_count, int* arr) {
int compare = arr[n - 1];
for (int i = n - 1; i >= 0; i--) {
if (arr[i - 1] > compare) {
arr[i] = arr[i - 1];
for (int j = 0; j < arr_count; j++)
printf("%d ", arr[j]);
printf("\n");
}
else {
arr[i] = compare;
for (int j = 0; j < arr_count; j++)
printf("%d ", arr[j]);
printf("\n");
break;
}
}
}
- 비교할 값(맨 오른쪽 값)을 compare에 저장한다.
- 만약 왼쪽에 있는 값이 더 크다면 오른쪽으로 값을 밀고 배열을 프린트 한다.
- 만약 왼쪽에 있는 값이 더 작다면 해당 자리에 compare를 저장하고 배열을 프린트 한다. 삽입할 자리를 찾았으므로 break를 통해 탈출한다.
- 실행결과
통과!
'2021 SISS 21기 활동 > 1학기 C' 카테고리의 다른 글
[HackerRank_C] Tree: Height of a Binary Tree (0) | 2021.05.17 |
---|---|
[HackerRank_C] Tree: Inorder, Postorder Traversal (0) | 2021.05.11 |
[HackerRank_C] Quicksort1 - partition (0) | 2021.05.06 |
[HackerRank_C] Sherlock and Array (0) | 2021.04.11 |
[HackerRank_C] Insertion Sort - Part 2 (0) | 2021.03.29 |