🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/86051
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 문제설명
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다.
numbers에서 찾을 수 없는 0부터 9까지의 숫자는 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해 주세요.
💡 제한사항
1 <= numbers의 길이 <= 9
0 <= numbers의 모든 원소 <= 9
numbers의 모든 원소는 서로 다릅니다.
📚 입출력 예
numbers | result |
[1, 2, 3, 4, 6, 7, 8, 0] | 14 |
[5, 8, 4, 0, 6, 7, 9] | 6 |
💻 소스 코드
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
위 코드는 1부터 9까지의 자연수 중에서 배열 numbers에 없는 숫자를 찾아서 반환하는 메서드를 구현한 것입니다.
코드의 작동 방식은 다음과 같습니다.
- 1부터 9까지의 자연수를 모두 더한 값 45를 변수 sum에 초기화합니다.
- 배열 numbers를 순회하며 각 요소를 sum에서 빼줍니다.
- 배열 numbers에 있는 숫자들은 sum에서 빼지기 때문에, 배열에 없는 숫자가 sum에 남게 되고, 이를 반환합니다.
시간 복잡도
위 코드의 시간 복잡도는 배열 numbers의 길이에 선형적으로 비례합니다. 배열을 한 번 순회하면서 요소를 빼주는 작업을 수행하므로 시간 복잡도는 O(n)입니다. 여기서 n은 배열 numbers의 길이를 나타냅니다.
공간 복잡도
위 코드의 공간 복잡도는 상수입니다. 입력 배열 umbers와 변수 sum을 사용하고, 입력 크기에 비례하지 않고 상수입니다.
따라서 공간 복잡도는 O(1)입니다.
'🕊️ 프로그래머스 > Lv1' 카테고리의 다른 글
[프로그래머스] Lv.1 핸드폰 번호 가리기 - Java (0) | 2023.12.07 |
---|---|
[프로그래머스] Lv.1 서울에서 김서방 찾기 - Java (0) | 2023.12.05 |
[프로그래머스] Lv.1 음양 더하기 - Java (0) | 2023.12.04 |
[프로그래머스] Lv.1 콜라츠 추측 - Java (0) | 2023.12.01 |
[프로그래머스] Lv.1 두 정수 사이의 합 - Java (1) | 2023.11.29 |
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/86051
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 문제설명
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다.
numbers에서 찾을 수 없는 0부터 9까지의 숫자는 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해 주세요.
💡 제한사항
1 <= numbers의 길이 <= 9
0 <= numbers의 모든 원소 <= 9
numbers의 모든 원소는 서로 다릅니다.
📚 입출력 예
numbers | result |
[1, 2, 3, 4, 6, 7, 8, 0] | 14 |
[5, 8, 4, 0, 6, 7, 9] | 6 |
💻 소스 코드
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
위 코드는 1부터 9까지의 자연수 중에서 배열 numbers에 없는 숫자를 찾아서 반환하는 메서드를 구현한 것입니다.
코드의 작동 방식은 다음과 같습니다.
- 1부터 9까지의 자연수를 모두 더한 값 45를 변수 sum에 초기화합니다.
- 배열 numbers를 순회하며 각 요소를 sum에서 빼줍니다.
- 배열 numbers에 있는 숫자들은 sum에서 빼지기 때문에, 배열에 없는 숫자가 sum에 남게 되고, 이를 반환합니다.
시간 복잡도
위 코드의 시간 복잡도는 배열 numbers의 길이에 선형적으로 비례합니다. 배열을 한 번 순회하면서 요소를 빼주는 작업을 수행하므로 시간 복잡도는 O(n)입니다. 여기서 n은 배열 numbers의 길이를 나타냅니다.
공간 복잡도
위 코드의 공간 복잡도는 상수입니다. 입력 배열 umbers와 변수 sum을 사용하고, 입력 크기에 비례하지 않고 상수입니다.
따라서 공간 복잡도는 O(1)입니다.
'🕊️ 프로그래머스 > Lv1' 카테고리의 다른 글
[프로그래머스] Lv.1 핸드폰 번호 가리기 - Java (0) | 2023.12.07 |
---|---|
[프로그래머스] Lv.1 서울에서 김서방 찾기 - Java (0) | 2023.12.05 |
[프로그래머스] Lv.1 음양 더하기 - Java (0) | 2023.12.04 |
[프로그래머스] Lv.1 콜라츠 추측 - Java (0) | 2023.12.01 |
[프로그래머스] Lv.1 두 정수 사이의 합 - Java (1) | 2023.11.29 |