짝수의 합
https://school.programmers.co.kr/learn/courses/30/lessons/120831
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) 문제
0 < n ≤ 1000
2) 예시
n | result |
---|---|
10 | 30 |
4 | 6 |
입출력 예 #1
n이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다.
입출력 예 #2
n이 4이므로 2 + 4 = 6을 return 합니다.
3) 풀이
1. 클래스 선언을 해줍니다
● class Solution {
클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.
2. 메소드 선언을 해줍니다.
● public int solution(int n){
정수인 n를 매개변수로 사용하는 solution 메소드를 선언해줍니다.
메소드의 결과값인 solution 또한 정수값으로 나오므로, 데이터 타입은 모두 int로 해줍니다.
3. 먼저 n은 0 초과, 1000이하의 정수라는 조건을 만들어주기 위해, if 구문을 사용해줍니다.
n이하의 모든 짝수를 더한 값을 sum라는 변수값으로 저장되게하고, 초기값 0을 이용하여 초기화해줍니다.
● if (0 < n && n <= 1000) {
int sum = 0;
4. for 반복문을 이용해서 i의 초기값은 2이고, i가 n이하일 때, 2씩 더해주며, sum은 결국 모든 i의 합이 되도록합니다.
● for (int i = 2; i <= n; i += 2) {
sum += i;
}
※ for 반복문
특정 조건이 만족될 때까지, 블록내의 코드를 반복 실행해줍니다.
● 구조
for (초기식; 조건식; 증감식) {
// 반복할 코드 블록
}
● 예시
1부터 5까지의 숫자를 출력하는 for 반복문
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
5. 결과값으로 나온 것을 result로 반환해줍니다.
● return sum;
6. 조건에 만족하지 않을 경우 (n의 범위값), 예외처리 해줍니다.
● } else {
throw new IllegalArgumentException("n은 0 초과 1000 이하의 정수여야 합니다.");
}
※ throw new IllegalArgumentException
자바에서 예외를 발생시키는 코드로, 주로 메소드나 함수가 부적절한 인자(argument)를 받았을 때 사용됩니다.
4) 코드
class Solution {
public int solution(int n) {
if (0 < n && n <= 1000) {
int sum = 0;
for (int i = 2; i <= n; i += 2) {
sum += i;
}
return sum;
} else {
throw new IllegalArgumentException("n은 0 초과 1000 이하의 정수여야 합니다.");
}
}
}
'Programmers Coding Test > Java' 카테고리의 다른 글
[프로그래머스 120847] Java - 코딩테스트 입문 / 최댓값 만들기(1) (1) | 2024.01.25 |
---|---|
[프로그래머스 120817] Java - 코딩테스트 입문 / 배열의 평균값 (0) | 2024.01.23 |
[프로그래머스 120829] Java - 코딩테스트 입문 / 각도기 (0) | 2024.01.23 |
[프로그래머스 120806] Java - 코딩테스트 입문 / 두 수의 나눗셈 (0) | 2024.01.22 |
[프로그래머스 120802] Java - 코딩테스트 입문 / 두 수의 합 (1) | 2024.01.22 |