코딩테스트/HackerRank

[HackerRank] Sales by Match ✔📌

주니어주니 2023. 4. 5. 11:29

 

 

문제

 

n = 양말 짝 수  

ar = 양말의 색깔을 나타내는 정수 배열

ar 배열에서 양말이 총 몇 켤레(쌍)가 나오는지 구하기 

 

 

 

 

 

내 풀이 

 

 

 

빈도수 구하는 배열을 만들어서 

각 양말 색깔에 해당하는 정수가 몇번씩 들어있는지를 빈도수 배열에 새로 담음

그 빈도수를 2로 나누면 ( 2짝씩 1 켤레니까) 

켤레 수가 나옴 -> 이걸 다 더함

 

 

 

잘못했던 점 

빈도수 배열을 초기화할 때, 아래와 같이 설정해서 런타임 에러가 발생했다.

 

int[] freq = new int[100];

 

제약조건을 보면 1 ~ 100 까지의 정수가 양말 색깔로 표시될 수 있다 -> 100까지 포함이 되어야 하는데 

freq 배열에서 [100]개 짜리 배열로 초기화 해버리면 배열이 0부터 시작되니까 0부터 100개, 즉 0 ~ 99 까지만 들어간다