[Algorithm] 정수 제곱근 판별

2024. 12. 10. 14:57·Algorithm/Practice

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. 

n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, 

n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

 

문제 유형

  • 수학적 판별
    • 제곱근 연산을 사용하여 숫자가 완전제곱수인지 확인

 

의사코드

  1. 결과값(result)을 선언한다.
  2. 입력값 n의 제곱근을 변수(sqrtN)에 저장한다.
  3. sqrtN의 소수값을 제거하기 위해 integer로 변환하여 변수(integerSqrtN)에 저장한다.
  4. sqrtN과 integersSqrtN을 마이너스 연산하여 0인지 확인한다.
    1. sqrtN에 소수값이 없다면 마이너스 연산시 0
    2. sqrtN에 소수값이 있다면 마이너스 연산시 0.xxx
  5. 만약 0이라면 x+1의 제곱을 result에 저장한다.
  6. 결과값(result)을 반환한다. 

 

코드 작성

long long solution(long long n) {
    long long result = -1;
    float sqrtN = sqrt(n);
    int integerSqrtN = static_cast<int>(sqrtN);
    
    if ((sqrtN - integerSqrtN) == 0)
    {
        integerSqrtN += 1;
        result = static_cast<long long>(integerSqrtN) * integerSqrtN;
    }
    
    return result;
}

'Algorithm > Practice' 카테고리의 다른 글

[Algorithm] 하샤드 수  (0) 2024.12.11
[Algorithm] 정수 내림차순으로 배치하기  (0) 2024.12.11
[Algorithm] 문자열을 정수로 바꾸기  (1) 2024.12.10
[Algorithm] 자연수 뒤집어 배열로 만들기  (0) 2024.12.10
[Algorithm] x만큼 간격이 있는 n개의 숫자  (1) 2024.12.09
'Algorithm/Practice' 카테고리의 다른 글
  • [Algorithm] 하샤드 수
  • [Algorithm] 정수 내림차순으로 배치하기
  • [Algorithm] 문자열을 정수로 바꾸기
  • [Algorithm] 자연수 뒤집어 배열로 만들기
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    내일배움캠프
    레벨디자인
    assetmanager
    하드 레퍼런싱
    KPT회고
    gas
    알고리즘
    AI
    퀘스트
    Algorithm
    액터
    component
    unrealengine
    사전캠프
    basic
    Til
    Implement
    Animation
    tsoftobjectptr
    Design Pattern
    소프트 레퍼런신
    actor
    DesignPattern
    c++
    unreal
    GameplayEffect
    디자인패턴
    본캠프
    디자인 패턴
    게임동기화
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[Algorithm] 정수 제곱근 판별
상단으로

티스토리툴바