[Python] 백준 #2417- 정수 제곱급

2023. 9. 11. 19:19·코딩테스트/백준[Python]

문제


 

 

2417번: 정수 제곱근

정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.

www.acmicpc.net

코드


My answer

import sys
input=sys.stdin.readline

n = int(input())
def binary_search(target,start,end):
    
    mid=(start+end)//2
    if(start>end):
        return mid+1
    tmp=mid*mid
    if(tmp==target):
        return mid
    elif(tmp<target):
        return binary_search(target,mid+1,end)
    elif(tmp>target):
        return binary_search(target,start,mid-1)

print(binary_search(n,0,n))

Another answer

풀이


나는 이분탐색 문제들을 모아서 풀고 있었기 때문에 바로 이분탐색으로 접근해서 쉽게 풀 수 있었지만, 카테고리가 정해져있지 않았다면 어떻게 풀지 막막했을 것 같다. 우선 이분탐색으로 푼다고하면 어차피 이건 1~n까지 순서대로 하는 것이므로 따로 리스트를 만들필요없이 그냥 인덱스를 곱해주면 됐다. 예전에는 아래에 있는 코드로 풀렸다고 하는데 부동소수점?관련 테스트 케이스가 추가되면서 틀렸다고 한다. 아래는 그냥 단순하게 0.5제곱근을 해주고 정수가 나오면 끝내는 코드이다. 

def solution(n):
    answer = 0
    num = n ** 0.5

    if num == int(num):
        answer = (num+1) ** 2
    else:
        answer = -1

    return answer

 

728x90

'코딩테스트 > 백준[Python]' 카테고리의 다른 글

[Python] 백준 #2805- 나무 자르기  (0) 2023.09.13
[Python] 백준 #19637 - IF문 좀 대신 써줘  (1) 2023.09.12
[Python] 백준 #10815- 숫자 카드  (0) 2023.09.11
[Python] 백준 #1789- 수들의 합  (0) 2023.09.11
[Python] 백준 #12851- 숨바꼭질 2  (0) 2023.09.11
'코딩테스트/백준[Python]' 카테고리의 다른 글
  • [Python] 백준 #2805- 나무 자르기
  • [Python] 백준 #19637 - IF문 좀 대신 써줘
  • [Python] 백준 #10815- 숫자 카드
  • [Python] 백준 #1789- 수들의 합
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (481)
      • 알쓸신잡 (88)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home

    ✏️글쓰기
    💻 관리

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    dp
    파이썬
    DFS
    그리디
    백준
    이분탐색
    나동빈
    이것이취업을위한코딩테스트다
    BFS
    이코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상단으로

티스토리툴바