x만큼 간격이 있는 n개의 숫자 코틀린(Kotlin)

2022. 8. 14. 11:00·프로그래머스
728x90
반응형

오늘 풀어본 문제는 난이도는 무난했지만 몇몇 테스트 케이스에서 통과되지 않는 이슈가 있었다.

 

문제

문제

문제는 테스트 케이스 1번을 예를 들어보면 주어진 x부터 시작해

x만큼 증가하는 총 5개의 숫자를 LongArray 타입으로 리턴하면 되는 문제였다.

 

여기서 처음에 들었던 생각은 왜 굳이 LongArray 타입으로 리턴을 해야할까 였다.

 

그리고 이 의문은 문제를 채점할 때 해결(?)되었다.

 

풀이

풀이

처음 풀이는 위 사진의 풀이와 약간 달랐다.

 

말 그대로 약간 달랐는데 그 의미는 아예 달랐다.

 

for 문안에 실행문은 원래 아래와 같았다.

answer[i] = (x * (i + 1)).toLong()

 

위 문장과 풀이 사진 안의 실행문의 결과는 어떻게 다를까?

 

일반적인(Int 범위 안에서 해결이 되는) 상황에서는 두 코드는 정상적으로 동작한다.

 

만약, x가 1억이고 n은 30이라면?

 

일단 Int 타입은 4바이트이다. 이 때, 최댓값은 양수로는 21억 언저리이다.

 

그런데 n이 30이라면? 30억이라는 수가 리턴될 LongArray에 포함되어야 한다.

 

그런데 위의 코드블럭에서의 실행문으로 이를 처리하려한다면? 오버플로우 상황이 발생하지 않겠는가?

 

30억을 Long 타입으로 바꾸기 전에 이미 Int 타입으로 계산을 하면

21억이 넘어서는 숫자를 계산해야되는데 당연히 원하던 값이 나올 수 없다.

 

 

이번 문제를 통해 다음부터는 문제에서 주어진 입출력의 타입까지도 세세히 따져보아야 한다는 것을 깨달았다.

728x90
반응형
저작자표시

'프로그래머스' 카테고리의 다른 글

나누어 떨어지는 숫자 배열 코틀린(Kotlin)  (0) 2022.08.17
나머지가 1이 되는 수 찾기 코틀린(Kotlin)  (0) 2022.08.16
약수의 합 코틀린(Kotlin)  (0) 2022.08.10
JadenCase 문자열 만들기 코틀린(Kotlin)  (0) 2022.08.09
자연수 뒤집어 배열로 만들기 코틀린(Kotlin)  (0) 2022.08.08
'프로그래머스' 카테고리의 다른 글
  • 나누어 떨어지는 숫자 배열 코틀린(Kotlin)
  • 나머지가 1이 되는 수 찾기 코틀린(Kotlin)
  • 약수의 합 코틀린(Kotlin)
  • JadenCase 문자열 만들기 코틀린(Kotlin)
BonusTrack02.dev
BonusTrack02.dev
공부, 일상
  • BonusTrack02.dev
    BonusTrack02.dev
    BonusTrack02.dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (237) N
      • Android (84)
      • Language (63) N
        • Java (19)
        • Kotlin (27) N
        • Swift (17)
      • 프로그래머스 (68)
      • 주저리주저리 (22)
        • 카페 (5)
        • 음식점 (4)
        • 컨퍼런스 (1)
        • 팝업스토어 (4)
        • 해외여행 (0)
        • 전시회 (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    ViewModel
    Material
    daterangepicker
    aac
    자바
    SWIFT
    databinding
    MVVM
    코틀린
    PCCE
    오블완
    programmers
    getNumericValue
    프로그래머스
    티스토리챌린지
    안드로이드
    Java
    jetpack
    room
    LiveData
    Observer
    Kotlin
    ios
    스위프트
    viewModelScope
    코루틴
    CodeLab
    배열
    coroutines
    android
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BonusTrack02.dev
x만큼 간격이 있는 n개의 숫자 코틀린(Kotlin)
상단으로

티스토리툴바