[프로그래머스]Level 1 : x만큼 간격이 있는 n개의 숫자(JAVA)

2021. 5. 17. 01:17·코딩 테스트/Java
반응형
 x만큼 간격이 있는 n개의 숫자

 

문제 설명

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

제한 조건
  • x는 -10000000 이상, 10000000 이하인 정수입니다.
  • n은 1000 이하인 자연수입니다.
입출력 예
x n answer
2 5 [2,4,6,8,10]
4 3 [4,8,12]
-4 2 [-4, -8]
코드
class Solution {
    public long[] solution(long x, int n) {
        long[] answer = new long[n];
        
        if(n >= 1000) return answer;
        
        long temp = x;
        for(int i=0; i<answer.length; i++){
            answer[i] = x;
            x += temp;
        }
        return answer;
    }
}
해설

처음에 주어진대로 x를 int형으로 했는데, 케이스2개르 통과하지 못해서 계속 오류가 났다.
아무리 생각해도 코드상 문제가 없는데, 통과를 하지 못하길래 고민을 한 결과!!!

x값에 1000만이 들어오는경우 n값에 따라서 배열의 길이가 생성이 될때 x값은 x값만큼 증가를 하면서 배열의 다음 인덱스에 값이 들어가는 과정에서 int형 범위를 넘어가는 과정이 생기기 때문에  버퍼오버플로우가 발생한다. 그래서 x를 long형으로 바꿔주었다.

 

출처: 프로그래머스, https://programmers.co.kr/learn/courses/30/lessons/12954

반응형
저작자표시 (새창열림)

'코딩 테스트 > Java' 카테고리의 다른 글

[프로그래머스]Level 1 : 문자열을 정수로 바꾸기(JAVA)  (0) 2021.05.18
[프로그래머스]Level 1 : 짝수와 홀(JAVA)  (0) 2021.05.17
[프로그래머스]Level 1 : 행렬의 덧셈(JAVA)  (0) 2021.05.17
[프로그래머스]Level 1 : 콜라츠 추측(JAVA)  (0) 2021.05.16
[프로그래머스]Level 1 : 직사각형 별찍기(JAVA)  (0) 2021.05.16
'코딩 테스트/Java' 카테고리의 다른 글
  • [프로그래머스]Level 1 : 문자열을 정수로 바꾸기(JAVA)
  • [프로그래머스]Level 1 : 짝수와 홀(JAVA)
  • [프로그래머스]Level 1 : 행렬의 덧셈(JAVA)
  • [프로그래머스]Level 1 : 콜라츠 추측(JAVA)
:j
:j
ddongjunn@gmail.com
  • :j
    dev.j
    :j
  • 전체
    오늘
    어제
    • :j
      • 프로그래밍 언어
        • Java
        • html
        • JavaScript
        • XML
        • JSON
        • CSS
        • jQuery
        • Web
        • k8s
        • JPA
      • 프레임워크
        • Spring
      • 코딩 테스트
        • Java
      • 네트워크
        • CCNA
      • 데이터베이스
        • Mssql
        • Oracle
      • 회고
      • :j story
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    <br>
    항해플러스
    HAVING
    Queue
    오버라이딩
    group by
    항해솔직후기
    멤버변수
    Name
    항해백앤드
    class
    항해플러스백엔드
    id
    MSSQL
    항해99
    appendChild
    오버로딩
    다형성
    지역변수
    항해플러스백앤드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
:j
[프로그래머스]Level 1 : x만큼 간격이 있는 n개의 숫자(JAVA)
상단으로

티스토리툴바