본문 바로가기
백준

[백준 24267/Java] 알고리즘 수업 - 알고리즘의 수행 시간 6

by naahy 2023. 9. 26.

https://www.acmicpc.net/problem/24267

 

24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6

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

www.acmicpc.net

 

 


 

📝 참고
https://velog.io/@gayeong39/%EB%B0%B1%EC%A4%80-24267-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%88%98%EC%97%85-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%88%98%ED%96%89-%EC%8B%9C%EA%B0%846

 


풀이

i, j, k는 1부터 n까지의 숫자 중 3개를 뽑아 크기 순으로 나열한 것과 같다

따라서 코드1의 수행 횟수는 1부터 n까지의 수에서 3개의 수를 선택하는 경우의 수와 같음

ₙC₃

= n! / (n-3)! * 3!

= n*(n-1)*(n-2) / 3*2*1

= n*(n-1)*(n-2) / 6

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		long n = Long.parseLong(br.readLine());
		System.out.println((n-2) * (n-1) * n / 6);
		System.out.println(3);
	}

}

댓글