프로그래머스 콜라츠 추측

2024. 2. 14. 09:30·알고리즘

나의 풀이

public int solution(int num)
{
    int answer = 0;
    long number = num;

    if (number != 1)
    {
        while (number != 1)
        {
            answer++;
            number = (number % 2 == 0) ? number /= 2 : (number * 3) + 1;

            if (answer >= 500)
            {
                answer = -1;
                break;
            }
        }
    }
    else { answer = 0; }
    return answer;
}

 

이번 문제는 크게 어렵지 않았던 것 같습니다, 

단 주의 해야하는 점이, 3을 곱하는 과정에서 int 범위를 넘길 수 있으니 long으로 자료형을 바꿔주는

과정이 필요했습니다.

 

다른 사람 풀이

 

for문을 사용해서 i값을 이용하면 모든 조건을 쉽게 해결 할 수 있다는 것을 알게 되었네요..

'알고리즘' 카테고리의 다른 글

프로그래머스 나누어 떨어지는 숫자 배열  (0) 2024.02.16
프로그래머스 서울에서 김서방 찾기  (0) 2024.02.15
프로그래머스 두 정수 사이의 합  (1) 2024.02.13
백준 10813번: 공바꾸기  (0) 2023.11.24
백준 10807  (0) 2023.11.22
'알고리즘' 카테고리의 다른 글
  • 프로그래머스 나누어 떨어지는 숫자 배열
  • 프로그래머스 서울에서 김서방 찾기
  • 프로그래머스 두 정수 사이의 합
  • 백준 10813번: 공바꾸기
하길
하길
게임 개발을 위한 나의 모든 지식의 총 집합체
  • 하길
    Until Dawn
    하길
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (143)
      • Unreal Engine 5 (0)
      • Unity (31)
        • 3D (5)
        • 2D (7)
      • C++ (13)
      • C# (11)
      • 알고리즘 (35)
      • TIL (22)
      • 기타 (1)
      • 대장간 (12)
      • 메모 (2)
      • 게임리뷰 (0)
      • 일상 (0)
        • 챌린지 (0)
      • Article (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
하길
프로그래머스 콜라츠 추측
상단으로

티스토리툴바