[ 목차 ]
📢 문제 출처
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📢 문제 설명
- 정수 배열 numbers와 정수 n이 매개변수로 주어집니다.
- numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return
📢 입출력 예시
- 입출력 예 #1
- (1) 예제 1번의 numbers를 문제 설명대로 더해가는 과정을 나타내면 다음의 표와 같습니다.
- 입출력 예 #2
- (1) 예제 2번의 numbers의 마지막 원소 전까지의 원소를 sum에 더하면 139입니다.
- (2) 139는 n 값인 139보다 크지 않고 마지막 원소인 100을 더하면 139보다 커지므로 239를 return 합니다.
📢 풀이
class Solution {
public int solution(int[] numbers, int n) {
int answer = 0;
for(int i : numbers){
if(answer <= n){
answer += i;
}
}
return answer;
}
}
- numbers의 원소를 앞에서부터 하나씩 더하고 그 합이 n보다 커지는 순간까지의 값을 더해서 도출해야한다.
- for-each문을 써서, int i 에 numbers의 배열의 인덱스를 반복한다.
- 마지막 원소의 값까지 더했을 때 n보다 커야하기 때문에 <= 부등호를 사용한다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝수는 싫어요 [Java] (0) | 2023.08.14 |
---|---|
[프로그래머스] 완주하지 못한 선수 (0) | 2023.08.11 |
[프로그래머스] 의상 (0) | 2023.08.11 |
댓글