문제 : boj2921
필요 알고리즘 개념
- 구현
- 규칙을 찾아 2중 반복문으로 구현해주면 풀 수 있다.
※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.
풀이
N=2, 3, 4 일 경우를 그려보면 아래와 같다.
즉, 윗줄을 i로 두고, 아랫줄을 j로 뒀을 때, 아래 코드처럼 2중 반복문을 통해 i와 j를 합계에 더해주면 된다.
for (int i = 0; i <= n; i++) { // 윗줄은 0부터 n까지
for (int j = i; j <= n; j++) { // 아랫줄은 i부터 n까지
sum += i;
sum += j;
}
}
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int sum = 0;
for (int i = 0; i <= n; i++) {
for (int j = i; j <= n; j++) {
sum += i;
sum += j;
}
}
System.out.println(sum);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 20205 - 교수님 그림이 깨지는데요? (java) (0) | 2022.10.14 |
---|---|
[자바] 백준 6220 - Making Change (java) (0) | 2022.10.13 |
[자바] 백준 25704 - 출석 이벤트 (java) (0) | 2022.10.11 |
[자바] 백준 20353 - Atrium (java) (0) | 2022.10.10 |
[자바] 백준 1402 - 아무래도이문제는A번난이도인것같다 (java) (0) | 2022.10.09 |
댓글