ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • 깃
  • Arrays.sort()
  • getOrDefault
  • dfs
  • 안드로이드
  • sort
  • 코틀린
  • Comparator
  • 백준
  • 프로그래머스 Lv.2
  • Queue
  • 해시
  • 프로그래머스
  • git bash
  • reactjs
  • java
  • entrySet
  • 깃허브
  • git
  • stack
  • greedy
  • HashMap
  • kotiln
  • React
  • BFS
  • PriorityQueue
  • 스택/큐
  • Android
  • compareTo()
  • DP

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

[Java] 프로그래머스 : 콜라츠 추측

2022. 2. 7. 08:43

https://programmers.co.kr/learn/courses/30/lessons/12943

 

코딩테스트 연습 - 콜라츠 추측

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2

programmers.co.kr

 

풀이

문제가 어려운 건 아니고 테스트 케이스 3번에서 결과가 488이 나와서 오류가 뜨길래 찾아보니,

class Solution {
    public int solution(int num) {
    
 }

문제에서 입력값을 int 파라미터로 받지만 int의 경우 테스트 케이스 3번의 연산 과정에서 21억을 넘게되면서 이 과정에서 연산값 제한으로 계산이 뒤틀린다. 입력값을 int가 아닌 long으로 수정하면 잘 동작한다.

class Solution {
    public int solution(long num) {
        int cnt =0;
        
        while(num!=1){
            num = (num%2==0)?num/2:num*3+1;
            cnt++;
            if(cnt==500) return -1;
        }
        return cnt;
    }
}
저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 : k번째 수  (0) 2022.02.11
[Java] 프로그래머스 : 시저 암호  (0) 2022.02.08
[Java] 프로그래머스 : 3진법 뒤집기  (0) 2022.02.07
[Java] 프로그래머스 : 이상한 문자 만들기  (0) 2022.02.07
[Java] 프로그래머스 : 문자열 내 마음대로 정렬하기  (0) 2022.02.07
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 : k번째 수
    • [Java] 프로그래머스 : 시저 암호
    • [Java] 프로그래머스 : 3진법 뒤집기
    • [Java] 프로그래머스 : 이상한 문자 만들기
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바