본문 바로가기

c언어 스터디/HackerRank

[HackerRank] Sorting- Counting Sort 1

https://www.hackerrank.com/challenges/countingsort1/problem

 

Counting Sort 1 | HackerRank

Count the number of times each value appears.

www.hackerrank.com

 

<문제>

input- 배열 arr의 크기를 입력받고, 크기만큼 정수를 입력받는다.

output- 0~배열의 크기까지 입력받은 원소의 개수를 계산하여 순서대로 출력한다.

 

 

<코드> 

#include<stdio.h>

int main(){
    int size,arr[101];
    int i,n;
    
    scanf("%d",&size);
    
    for(i=0;i<101;i++)
        arr[i] = 0;
        
    for(i=0;i<size;i++){
        scanf("%d",&n);
        arr[n]++;
    }
    
    for(i=0;i<100;i++){
        printf("%d ",arr[i]);
    }
    return 0;
}

 

<코드 설명>

main()함수 내에서 간단하게 구현이 가능하여 함수 정의 없이 for반복문을 3번 사용하여 문제를 풀었다. 

-첫번째 for 문: arr배열을 0으로 초기화시킨다.

-두번째 for 문: 입력받은 size만큼 배열을 입력받고, 입력받은 원소를 n에 저장하고, arr[n]의 개수를 하나 증가시킨다.

-세번째 for 문: arr배열을 모두 출력한다.

 

 

<결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글

[HackerRank] Grading Students  (0) 2021.05.22
[HackerRank] Sorting- Counting Sort 2  (0) 2021.05.22
[HackerRank] Staircase  (0) 2021.05.13
[HackerRank] Birthday Cake Candles  (0) 2021.05.07
[HackerRank] Search- IceCream Parlor  (0) 2021.05.07