🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12954
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 문제설명
함수 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];
answer[0] = x;
for (int i = 1; i < n; i++) {
answer[i] = answer[i - 1] + x;
}
return answer;
}
}
주어진 코드는 정수 x와 자연수 n을 입력으로 받아서, x부터 시작해 x씩 증가하는 숫자를 n개 만들어서 배열로 반환하는 함수입니다.
코드의 동작을 다음과 같이 설명할 수 있습니다.
- 결과를 저장할 n 크기의 long 배열 answer를 생성합니다.
- answer[0]을 x로 초기화합니다. 이 배열의 첫 번째 요소는 입력된 x값과 동일합니다.
- for 루프를 사용하여 배열 answer의 나머지 요소를 계산합니다. 루프는 1부터 n - 1까지 순회합니다.
- 각 반복에서, 현재 요소 answer[i]는 이전 요소 answer[i - 1]에 x를 더한 값으로 설정됩니다. 이렇게 하면 x부터 시작해 x씩 증가하는 숫자를 생성하게 됩니다.
- 모든 요소를 계산하고 나면, 배열 answer에는 x부터 시작해 x씩 증가하는 숫자가 저장됩니다.
- 최종적으로 배열 answer를 반환하여 결과를 출력합니다.
이 코드는 입력된 x부터 시작해 x씩 증가하는 숫자를 생성하고 배열로 저장하는 간단한 방법을 사용하여 결과를 반환합니다.
시간 복잡도
위 코드의 시간 복잡도는 반복문을 n번 반복하므로 O(n)입니다. 여기서 n은 입력된 정수 n의 값에 비례합니다.
공간 복잡도
그리고 사용된 공간 복잡도 입력값 n에 비례하기 때문에, 길이가 n인 long 형식의 배열 answer을 선언하고 초기화하고 있으므로 공간 복잡도는 O(n)입니다. 입력값 n의 크기와 비례하여 추가 메모리를 사용할 수 있습니다.
'🕊️ 프로그래머스 > Lv1' 카테고리의 다른 글
[프로그래머스] Lv.1 자연수 뒤집어 배열로 만들기 - Java (0) | 2023.11.23 |
---|---|
[프로그래머스] Lv.1 문자열을 정수로 바꾸기 - Java (0) | 2023.11.22 |
[프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 - Java (0) | 2023.11.20 |
[프로그래머스] Lv.1 약수의 합 - 자바[Java] (0) | 2023.11.18 |
[프로그래머스] Lv.1 짝수와 홀수 - Java (0) | 2023.11.17 |
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12954
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 문제설명
함수 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];
answer[0] = x;
for (int i = 1; i < n; i++) {
answer[i] = answer[i - 1] + x;
}
return answer;
}
}
주어진 코드는 정수 x와 자연수 n을 입력으로 받아서, x부터 시작해 x씩 증가하는 숫자를 n개 만들어서 배열로 반환하는 함수입니다.
코드의 동작을 다음과 같이 설명할 수 있습니다.
- 결과를 저장할 n 크기의 long 배열 answer를 생성합니다.
- answer[0]을 x로 초기화합니다. 이 배열의 첫 번째 요소는 입력된 x값과 동일합니다.
- for 루프를 사용하여 배열 answer의 나머지 요소를 계산합니다. 루프는 1부터 n - 1까지 순회합니다.
- 각 반복에서, 현재 요소 answer[i]는 이전 요소 answer[i - 1]에 x를 더한 값으로 설정됩니다. 이렇게 하면 x부터 시작해 x씩 증가하는 숫자를 생성하게 됩니다.
- 모든 요소를 계산하고 나면, 배열 answer에는 x부터 시작해 x씩 증가하는 숫자가 저장됩니다.
- 최종적으로 배열 answer를 반환하여 결과를 출력합니다.
이 코드는 입력된 x부터 시작해 x씩 증가하는 숫자를 생성하고 배열로 저장하는 간단한 방법을 사용하여 결과를 반환합니다.
시간 복잡도
위 코드의 시간 복잡도는 반복문을 n번 반복하므로 O(n)입니다. 여기서 n은 입력된 정수 n의 값에 비례합니다.
공간 복잡도
그리고 사용된 공간 복잡도 입력값 n에 비례하기 때문에, 길이가 n인 long 형식의 배열 answer을 선언하고 초기화하고 있으므로 공간 복잡도는 O(n)입니다. 입력값 n의 크기와 비례하여 추가 메모리를 사용할 수 있습니다.
'🕊️ 프로그래머스 > Lv1' 카테고리의 다른 글
[프로그래머스] Lv.1 자연수 뒤집어 배열로 만들기 - Java (0) | 2023.11.23 |
---|---|
[프로그래머스] Lv.1 문자열을 정수로 바꾸기 - Java (0) | 2023.11.22 |
[프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 - Java (0) | 2023.11.20 |
[프로그래머스] Lv.1 약수의 합 - 자바[Java] (0) | 2023.11.18 |
[프로그래머스] Lv.1 짝수와 홀수 - Java (0) | 2023.11.17 |