Minimum Distances | HackerRank
Minimum Distances | HackerRank
Find the minimum distance between two different indices containing the same integers.
www.hackerrank.com
<문제>

input) 첫번째 줄에는 배열의 크기를 입력받고, 두번째 줄에는 전체 배열을 입력받는다.
함수 minimumDistances ) 배열 원소 중에 값이 같은 원소들끼리의 인덱스 차이인 거리를 구한다.
가능한 거리들 중 최소값을 리턴하는 함수이다.
output) 가장 최소의 거리를 출력한다.
<코드>
int minimumDistances(int a_count, int* a) {
int min=INT_MAX;
for(int i=0;i<a_count;i++){
for(int j=i+1;j<a_count;j++){
if(a[i]==a[j]){
if(j-i<min)
min=j-i;
break;
}
}
}
if(min==INT_MAX)
min=-1;
return min;
}
<코드 풀이>
먼저 변수 min을 선언하고, 이중 for문과 중첩된 if문을 이용해 문제를 풀었다.
이중 for문을 통해 a배열에서 a[i], a[j]를 비교하였고 만약 a[i]==a[j]이면서 j-i<min이면 min의 값을 j-i로 바꾸었다.
만약 min변수가 처음에 선언한 값에서 바뀌지 않았다면 -1을 리턴하도록 하였다.
<결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글
| [HackerRank] Delete a Node (0) | 2021.07.18 |
|---|---|
| [HackerRank] Migratory Birds (0) | 2021.07.17 |
| [HackerRank] Bill Division (0) | 2021.07.10 |
| [HackerRank] Tree- Binaery Search Tree: Insertion (0) | 2021.06.25 |
| [HackerRank] Tree- Level Order Traversal (0) | 2021.06.25 |