Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- java
- 프로젝트 생성
- 백준
- 11652
- 11004
- 최대공약수
- 데이터타입
- IaaS
- 온프레미스
- aws
- 짝수
- 유클리드 호제법
- 최대공배수
- INT
- 웹 서버
- Python
- level1
- 문자열 숫자 변환
- parseInt
- valueof
- 알고리즘
- IntelliJ
- algorithm
- 프로그래머스
- 리스트
- PaaS
- 자료형
- SaaS
- 홀수
- 2진수
Archives
- Today
- Total
Ga0Lee
[알고리즘] 프로그래머스(Level1) - x만큼 간격이 있는 n개의 숫자(Java) 본문
https://programmers.co.kr/learn/courses/30/lessons/12954
문제 설명
- 함수 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(int x, int n) {
long[] answer = new long[n]; 1️⃣
answer[0] = x; 2️⃣
for(int i=1; i<n; i++){ 3️
answer[i] = answer[i-1] + x; 3️⃣
}
return answer;
}
}
1️⃣ - 숫자 n개를 지니는 리스트 생성
2️⃣ - 정수 x부터 시작하는 리스트이므로 0번째 원소의 값을 x로 갱신
3️⃣ - x씩 증가
실행 코드
class Solution{
public long[] solution(int x, int n) {
long[] answer = new long[n];
answer[0] = x;
for(int i=1; i<n; i++)
{
answer[i] = answer[i-1] + x;
}
return answer;
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int n = sc.nextInt();
Solution sol = new Solution();
long[] answer = new long[n];
answer = sol.solution(x, n);
System.out.println(Arrays.toString(answer));
}
}
왜 리스트의 데이터 타입을 int가 아닌 long으로 했을까?
- int 는 4byte로 -217483648 ~ 217483648 까지 표현이 가능하다.
- long은 8byte로 -9223372036854775808 ~ 9223372036854775808 까지 표현이 가능하다.
x = 10000000, n = 1000일 때 리스트 원소의 값이 217483648 이상인 상황이 발생한다.
따라서 더 큰 범위를 표현 가능한 long형으로 데이터 타입을 선언하는 것이 적절하다.
'Algorithm' 카테고리의 다른 글
[알고리즘] 프로그래머스(Level1) - 행렬의 덧셈(Java) (0) | 2022.06.08 |
---|---|
[알고리즘] 프로그래머스(Level1) - 콜라츠 추측(Java)/int형 오버플로우 (0) | 2022.06.07 |
[알고리즘] 프로그래머스(Level 1) - 직사각형 별찍기(Java) (0) | 2022.06.05 |
[알고리즘] 접미사 배열 백준 11656 (Python) (0) | 2022.01.17 |
[알고리즘] 네 수 백준 10824 (Python) (0) | 2022.01.17 |