[BOJ] 12813번: 이진수 연산

2023. 2. 16. 11:44·Problem Solving/Baekjoon

출처 : https://www.acmicpc.net/problem/12813

 

12813번: 이진수 연산

총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

1. 문제 설명 

총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오.

 

 


2. 접근 방식 

파이썬에서 ~연산자는 비트 반전 후 ㅎ2의 보수로 만들어서 리턴한다고 한다. 당연히 ~A, ~B를 하면 될 줄 알았는데 아니였다.. 1의 보수를 만들어 주려면 

 

1. A ^ mask(A의 자릿수만큼 1로 채운 것)

2. mask - A

 

위 두가지 방법을 사용하면 된다고 한다. (처음 안 사실)

 

 


3. 주석 달기 (변수 설명, 각 줄마다 문장으로 설명, 함수 설명)

a = int(input(), 2)  
b = int(input(), 2)
n = 100000
mask = 2 ** n - 1

print(bin(a & b)[2:].zfill(n))  
print(bin(a | b)[2:].zfill(n))
print(bin(a ^ b)[2:].zfill(n))
print(bin(a ^ mask)[2:].zfill(n))
print(bin(b ^ mask)[2:].zfill(n))

 

 


4. 분석 및 시간복잡도

비트마스킹 재밌다 ! 더 배워보자.

 

 

'Problem Solving/Baekjoon' 카테고리의 다른 글
  • [BOJ] 9375번: 패션왕 신해빈
  • [BOJ] 14500번: 테트로미노
  • [BOJ] 13458번: 시험 감독
  • [BOJ] 11723번: 집합
kimdozzi
kimdozzi
끝까지 포기하지 않으면, 내가 다 이겨!
  • kimdozzi
    도브로
    kimdozzi
  • 전체
    오늘
    어제
    • 분류 전체보기 (132)
      • Problem Solving (49)
        • Baekjoon (29)
        • Programmers (0)
        • LeetCode (17)
        • 삼성 유형 (2)
      • Computer Science (27)
        • Operating System (2)
        • Algorithms (13)
        • Network (6)
        • DataBase (6)
      • Backend (33)
        • JavaScript (0)
        • TypeScript (6)
        • Java (7)
        • Spring Boot (7)
        • Spring Security (6)
        • JPA (2)
        • Mybatis (1)
        • Junit5 (1)
        • Redis (3)
      • DevOps (14)
        • Git, Github (5)
        • docker (4)
        • AWS (3)
        • nginx (2)
      • etc (6)
        • IntelliJ (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 티스토리
    • 설정
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    TypeScript
    docker
    AWS
    interface
    누적합
    인덱스 시그니처
    컨테이너
    알고리즘
    티스토리챌린지
    imos법
    오블완
    PrefixSum
    인덱서블 타입
    구간합
    세그먼트 트리
    docker image
    도커
    Bucket
    python
    온라인 쿼리
    segment tree
    S3
    오프라인 쿼리
    CORS
    점 업데이트
    인터페이스
    백준
    구간 업데이트
    삼성기출
    파이썬
    타입스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kimdozzi
[BOJ] 12813번: 이진수 연산
상단으로

티스토리툴바