기록하지 않았다면 잃어버릴 시간들
Home
  • 분류 전체보기 (184)
    • Lang (6)
      • c++ (2)
      • Java (2)
      • python (2)
    • 프레임워크 (18)
      • Spring (16)
      • JPA (2)
    • 알고리즘 (141)
      • 이론 (4)
      • 백준 (59)
      • Codility (13)
      • 프로그래머스 (65)
    • CS (4)
      • 운영체제 (0)
      • 자료구조 (0)
      • DB (4)
      • 네트워크 (0)
      • 보안 (0)
    • 기타 (7)
    • 프로젝트 (4)
      • 게시판 만들기로 배우는 Spring Data JP.. (4)
Home
  • 분류 전체보기 (184)
    • Lang (6)
      • c++ (2)
      • Java (2)
      • python (2)
    • 프레임워크 (18)
      • Spring (16)
      • JPA (2)
    • 알고리즘 (141)
      • 이론 (4)
      • 백준 (59)
      • Codility (13)
      • 프로그래머스 (65)
    • CS (4)
      • 운영체제 (0)
      • 자료구조 (0)
      • DB (4)
      • 네트워크 (0)
      • 보안 (0)
    • 기타 (7)
    • 프로젝트 (4)
      • 게시판 만들기로 배우는 Spring Data JP.. (4)
블로그 내 검색

기록하지 않았다면 잃어버릴 시간들

새로운 것을 배우는게 즐거운 개발자입니다.

  • 알고리즘/백준

    BOJ 1322 X와 K / C++

    2022. 9. 15.

    by. 내이름은 킹햄찌

    https://www.acmicpc.net/problem/1322

     

    1322번: X와 K

    첫째 줄에 X와 K가 주어진다. X와 K는 2,000,000,000보다 작거나 같은 자연수이다.

    www.acmicpc.net

    아이디어

    문제에서 제시한 X + Y = X | Y를 만족하는 Y의 값은 X를 이진으로 표현했을때 1에 해당하는 비트가 곂치지 않고 0에 해당하는 비트만 1인 숫자를 찾아야 합니다.

    예를 들어 5는 101 이다. 조건을 만족하는 숫자는 10 또는 1000, 1010 이 된다. 이를 바탕으로 풀이했습니다.

    #include <iostream>
    
    using namespace std;
    
    long long X, Y, K;
    
    void input() {
    	cin >> X >> K;
    }
    
    void solution() {
    	int pushCnt = 0;
    	//long long -> bit : 8byte * 8 = 64
    	for (int i = 0; i < 65; i++) {
    		//1bit가 아닌 자리의 bit를 더해야 함
    		if ((X >> i) & 1) continue;
    		if ((K >> pushCnt) & 1) {
    			Y |= (1LL << i);
    		}
    		pushCnt++;
    	}
    	cout << Y;
    }
    
    int main(void) {
    	input();
    	solution();
    }

    '알고리즘 > 백준' 카테고리의 다른 글

    BOJ 2632 피자판매 / C++  (1) 2022.12.03
    BOJ 3109 빵집 / C++  (2) 2022.09.15
    BOJ 2096 내려가기 / C++  (0) 2022.09.11
    BOJ 10942 팰린드롬? / C++  (0) 2022.09.11
    BOJ 1800 인터넷 설치 / C++  (0) 2022.09.11

    댓글

    관련글

    • BOJ 2632 피자판매 / C++ 2022.12.03
    • BOJ 3109 빵집 / C++ 2022.09.15
    • BOJ 2096 내려가기 / C++ 2022.09.11
    • BOJ 10942 팰린드롬? / C++ 2022.09.11
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
내이름은 킹햄찌

티스토리툴바