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
- 자료구조 복습
- CSS
- c
- 숙명여자대학교 정보보안 동아리
- BOJ
- 기계학습
- c++
- 백준
- 풀이
- 숙명여자대학교 정보보안동아리
- lob
- PHP 웹페이지 만들기
- 머신러닝
- hackctf
- 생활코딩
- WarGame
- XSS Game
- 파이썬
- C언어
- HTML
- siss
- Javascript
- SWEA
- The Loard of BOF
- 드림핵
- 웹페이지 만들기
- BOJ Python
- Sookmyung Information Security Study
- Python
- hackerrank
Archives
- Today
- Total
혜랑's STORY
[HackerRank] Counting Sort 2 본문
# 문제
# 풀이
int* countingSort(int arr_count, int* arr, int* result_count) {
int *temp = malloc(sizeof(int)*100);
memset(temp, 0, sizeof(int)*100);
for(int i=0; i<arr_count; i++)
temp[arr[i]]++;
*result_count = arr_count;
int *result = malloc(sizeof(int)*(*result_count));
int result_pos = 0;
for(int i=0; i<100; i++){
while(temp[i] != 0){
result[result_pos++] = i;
temp[i]--;
}
}
return result;
}
- arr_count만큼 for문을 돌며 counting sorting한다.
- result 배열의 크기는 arr_count와 동일하고, 존재할 수 있는 최대 수인 100까지 for문을 돌며 result 배열에 값을 채워 넣을 것이다.
- 앞서 temp 배열을 0으로 초기화 해 놓았기 때문에 해당 숫자에 카운팅된 값이 0이 아닐 때까지 result 배열에 그 수를 넣고 카운팅 횟수를 1 줄여주는 것을 반복한다.
- result를 반환하고 프로그램을 종료한다.
# 결과
'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글
[HackerRank] Funny String (0) | 2021.08.12 |
---|---|
[HackerRank] Sherlock and Cost (0) | 2021.08.12 |
[HackerRank] Counting Sort 1 (0) | 2021.08.05 |
[HackerRank] Left Rotation (0) | 2021.07.31 |
[HackerRank] CamelCase (0) | 2021.07.31 |