[Algorithm] Softeer_CPTI (JAVA)

2025. 5. 16. 15:05·Algorithm

📝문제

https://softeer.ai/practice/11002

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai


💡풀이

문제 유형

비트마스킹

브루트포스

 

걸린 시간

30분

 

시간 복잡도

O(N^2)

 

풀이 방법 도출

java의 비트연산을 모르면 풀기 어려운 문제다.

이 문제에 필요한 개념만 정리하면 다음과 같다.

 

XOR 연산(^) => 두 수의 각 자리수가 다른 경우 1로 변환한다.

Integer.bitCount 메서드 => 이진수에서 1의 개수를 세어주는 함수이다.

 

Integer.parseInt(br.readLine(), 2); => 2진수로 표현된 문자열을 10진수 정수로 변환한다.

 

입력받은 이진수의 모든 쌍을 검사해 각 자리수가 다른 경우가 2 이하인 경우를 세어주었다.

 

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken()); //사람 수
        int M = Integer.parseInt(st.nextToken()); //문자열 길이

        int[] binary = new int[N];
        //성격이 두가지만 다르면 친밀감을 느낌
        for(int i = 0; i < N; i++){
            binary[i] = Integer.parseInt(br.readLine(), 2);
        }

        int count = 0;
        for(int i = 0; i < N; i++){
            for(int j = i+1; j < N; j++){
                int diff = Integer.bitCount(binary[i]^binary[j]);
                if(diff <= 2){
                    count++;
                }
            }
        }

        System.out.println(count);
    }
}

🤔Review

XOR 연산(^),  Integer.bitCount 잘 알아갑니다..~

'Algorithm' 카테고리의 다른 글

[Algorithm] Softeer_성적 평균 (JAVA)  (0) 2025.05.16
[Algorithm] Softeer_택배 마스터 광우 (JAVA)  (0) 2025.05.16
[Algorithm] 백준_주유소_13305번 (JAVA)  (0) 2025.05.15
[Algorithm] 백준_소수의 연속합_1644번 (JAVA) 에라토스테네스의 체  (3) 2025.05.14
[Algorithm] 백준_가장 긴 바이토닉 부분 수열_11054번 (JAVA)  (0) 2025.05.09
'Algorithm' 카테고리의 다른 글
  • [Algorithm] Softeer_성적 평균 (JAVA)
  • [Algorithm] Softeer_택배 마스터 광우 (JAVA)
  • [Algorithm] 백준_주유소_13305번 (JAVA)
  • [Algorithm] 백준_소수의 연속합_1644번 (JAVA) 에라토스테네스의 체
dev_ajrqkq
dev_ajrqkq
알고리즘 천재가 될 거야
  • dev_ajrqkq
    기록이 자산이다
    dev_ajrqkq
  • 전체
    오늘
    어제
    • 분류 전체보기 (146) N
      • Front-end (0)
      • Back-end (11)
        • Spring (1)
        • Java (8)
      • CS (9)
        • 데이터베이스 (5)
        • 네트워크 (4)
      • Algorithm (79) N
      • 이것저것 (0)
      • 버그잡기 (1)
      • TIL (37)
      • 후기 (1)
      • 취준 (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      항해99
      오블완
      코딩테스트준비
      Til
      TypeScript
      개발자취업
      99클럽
      티스토리챌린지
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.2
    dev_ajrqkq
    [Algorithm] Softeer_CPTI (JAVA)
    상단으로

    티스토리툴바