99클럽 코테 스터디 2일차 TIL - [프로그래머스] x만큼 간격이 있는 n개의 숫자 (Java)

seri·2024년 7월 24일
0

코딩테스트 챌린지

목록 보기
27/62

📌 오늘의 학습 키워드

[프로그래머스] x만큼 간격이 있는 n개의 숫자 (Java)
https://school.programmers.co.kr/learn/courses/30/lessons/12954

📌 공부한 내용 본인의 언어로 정리하기

문제 탐색하기

입력 : x, n (-10^7 ≤ n ≤ 10^7, 1 ≤ n ≤ 1000)
출력 : answer 출력

가능한 시간복잡도

O(n)

알고리즘 선택

구현

📌 코드 설계하기

  1. answer 배열을 크기 n으로 초기화한다.
  2. 시작값 x를 start에 저장한다.
  3. answer[index]에 x를 저장한다.
  4. x에 start 값을 더해 다음 숫자를 계산한다.
  5. index를 1 증가시킨다.
  6. index가 n보다 작은 동안 3~5를 반복한다.
  7. answer를 출력한다.

📌 오늘의 회고

어떤 문제가 있었고, 나는 어떤 시도를 했는지

처음에는 주어진 코드 그대로 int x와 int start를 사용했으나, 테스트케이스 13, 14에서 실패했다.

어떻게 해결했는지

long x, long start 로 변경했다.

무엇을 새롭게 알았는지

입력된 변수의 범위가 -가 존재한다면 long으로 변경을 의심해보자.

내일 학습할 것은 무엇인지

구현

📌 정답 코드

class Solution {
    public long[] solution(long x, int n) {
        long[] answer = new long[n];
        int index = 0;
        long start = x;
        
        while (index < n) {
            answer[index] = x;
            x += start;
            index++;
        }

        return answer;
    }
}
profile
꾸준히 정진하며 나아가기

0개의 댓글