[백준/Python] 15917번 노솔브 방지문제야!!

2023. 1. 7. 01:02· Koala - 9기/기초 알고리즘 스터디

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

 

15917번: 노솔브 방지문제야!!

어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은

www.acmicpc.net

소스코드

input = __import__('sys').stdin.readline

q = int(input())
for i in range(q):
    cnt=0
    a = int(input())

    if a == 1:
        cnt += 1
        print(1)

    while a % 2 != 1:
        if a // 2 == 1:
            cnt+=1
            print(1)
            break
        else:
            a = a // 2

    if cnt == 0:
        print(0)

 

문제풀이

2의 거듭제곱이 아닌 경우의 조건은 무엇일까에 집중하며 문제에 접근했다. 2의 거듭제곱이 아니라면 a를 2로 계속 나누다보면 언젠가는 나머지가 1이 되는 상황이 발생한다(1의 경우 제외).

하지만, 나머지가 1로 나타나기 전까지는 2의 배수인 수들은 몇번이고 나머지가 0이 나올 수 있다. while문을 통해서 나머지가 1인 경우를 제외하곤 a를 계속 2로 나누게 하였다.

2로 나누다가 몫이 1이 되는 경우는 a가 2의 거듭제곱이라는 것을 의미하기에 if문을 통해 1을 출력했다.

나머지가 1이 되어  while문을 빠져나온 경우에는 0을 출력했다. 1을 출력한 후 탈출한 경우와 구분짓기 위해 cnt를 이용해주었다.

저작자표시 (새창열림)

'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글

[백준/JS] 10869번 사칙연산  (0) 2023.01.08
[백준/python] 팬그램  (0) 2023.01.07
[백준/Python] #14681 사분면 고르기  (0) 2023.01.06
[백준/Python] #2739 구구단을 외자 x2  (0) 2023.01.06
[백준/Python] 20540번 연길이의 이상형  (0) 2023.01.06
'Koala - 9기/기초 알고리즘 스터디' 카테고리의 다른 글
  • [백준/JS] 10869번 사칙연산
  • [백준/python] 팬그램
  • [백준/Python] #14681 사분면 고르기
  • [백준/Python] #2739 구구단을 외자 x2
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
Koala항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1883)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • dp
  • 백트래킹
  • 백준
  • C++
  • 파이썬
  • BOJ
  • dfs
  • BFS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준/Python] 15917번 노솔브 방지문제야!!
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.