1. 문제
There is a large pile of socks that must be paired by color. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are.
Example
There is one pair of color and one of color . There are three odd socks left, one of each color. The number of pairs is .
Function Description
Complete the sockMerchant function in the editor below.
sockMerchant has the following parameter(s):
int n: the number of socks in the pile
int ar[n]: the colors of each sock
Returns
int: the number of pairs
Input Format
The first line contains an integer , the number of socks represented in .
The second line contains space-separated integers, , the colors of the socks in the pile.
Constraints
where
Sample Input
STDIN Function
9 n = 9
10 20 20 10 10 30 50 10 20 ar = [10, 20, 20, 10, 10, 30, 50, 10, 20]
Sample Output
3
Explanation
There are three pairs of socks.
1.1. 컴퓨팅적 사고
색상별로 짝을 맞추는 양말더미에서 짝의 개수가 맞는것의 개수를 찾는 문제이다.
가장 핵심은 같은값을 가지는 값의 개수를 세준후에 해당 되는 값의 개수에서 / 2로 나누어주면 해당되는 양말의 짝의 개수를 모두 구해나갈 수 있다. 시간복잡도는 O(N) 선형시간으로 처리가 가능하다. N의 범위가 100까지 이므로 완전탐색 N^3의 로직까지 구현해낼 수 있을것으로 생각한다.
1.2. 소스코드
1 | import java.io.*; |