https://www.acmicpc.net/problem/24267
24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6
오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시
www.acmicpc.net
◎ 문제


◎ 코드
1
2
3
4
5
6
7
8
9
10
|
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt()-2;
System.out.println((long)n*(n+1)*(n+2)/6);
System.out.println(3);
}
}
|
cs |

◎ 풀이 및 기록
먼저 실행횟수를 구하는 방법을 몰라서 규칙을 찾으려 했다.
이해를 돕기위해 아래와 같은 함수를 만들어 적당한 수를 대입하며 생각해봤다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int n = sc.nextInt();
int cnt=0;
for (int i = 0; i < n-2; i++) {
for (int j = i+1; j < n-1; j++) {
for (int k = j+1; k < n; k++) {
cnt+=1;
}
}
}
System.out.println(cnt);
}
}
}
|
cs |
이 반복문은 i는 n-2까지 j는 n-1까지 k는 n까지 이다.
그리고 i는 0부터 j는 i+1부터 k는 j+1부터 시작하기 때문에 1,2,3 부터 시작해 n-2 n-1 n 까지 반복된다.
즉, n개 중에서 3개를 중복 없이 무작위로 선택한다.

으로 풀어주면 된다!
'코테' 카테고리의 다른 글
[백준 / Java] 2108번 : 통계학 (0) | 2023.03.03 |
---|---|
[백준 / Java] 10798번 : 세로읽기 (0) | 2023.02.27 |
[백준 / Java] 9020번 : 골드바흐의 추측 (0) | 2023.02.26 |
[백준 / Java] 9506번 : 약수들의 합 (0) | 2023.02.26 |
[백준 / Java] 2566번 : 최댓값 (0) | 2023.02.24 |