- 문제
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
- 풀이
import java.io.*;
import java.util.*;
public class Main {
//주어지는 CPTI는 1과 0으로 이루어져 있기 때문에, 이진수로 표현할 수 있습니다.
//따라서 입력받는 CPTI를 이진수로 변환하여 int[] 배열에 넣어주고
//쉽게 비교 할 수 있도록합니다.
public static void main(String[] args) throws Exception{
//입력받기 위한 br, st를 선언해줍니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
//사람 수와, CPTI길이를 N과 M에 입력받습니다.
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
//CPTI를 이진수로 변환하여 담을 nums 배열입니다.
int[] nums = new int[N];
//입력받아 nums배열에 채워줍니다.
for(int i=0; i<N; i++){
nums[i] = Integer.parseInt(br.readLine(), 2);
}
//사람 수를 담을 cnt 배열입니다.
int cnt = 0;
//이중for문을 통해 사람들 서로를 모두 비교해줍니다.
for(int i=0; i<N; i++){
for(int j=i+1; j<N; j++){
//Integer.bitCount()함수를 통해 서로 다른 값의 자리 수를 세어줍니다.
int now = Integer.bitCount(nums[i]^nums[j]);
//만약 다른 자리가 2개 이하라면 이 사람들은 친밀감을 느끼기 때문에
//cnt에 추가해줍니다.
if(now<=2) cnt++;
}
}
//구해진 답을 출력해줍니다.
System.out.println(cnt);
}
}
'Coding Test > Softeer' 카테고리의 다른 글
[소프티어] 나무 공격, java (0) | 2025.02.21 |
---|---|
[소프티어] Recovering the Region, java (0) | 2025.02.18 |
[소프티어] GPT식 숫자 비교, java (0) | 2025.02.07 |
[소프티어] 주행거리 비교하기, java (0) | 2025.02.07 |
[소프티어] 메리 크리스마스, java (0) | 2025.02.07 |