Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

dh-winternagi 님의 블로그

(24267) 알고리즘 수업 - 알고리즘의 수행 시간 6 본문

백준 (C++)/Solve

(24267) 알고리즘 수업 - 알고리즘의 수행 시간 6

dh-winternagi 2026. 4. 13. 21:04

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

단계별로 풀어보기

11단계(시간 복잡도) 6번째

 

 

 

2중for문이었던 수행 시간 4처럼 풀기엔 굉장히 헷갈리므로 수학적으로 접근해보자.

3중for문에서 i, j, k의 관계를 살펴보면 1≤i<j<k≤n라고 할 수 있으며, 마지막 for문 안쪽(코드1)은 이 부등식을 만족하는 모든 (i, j, k)의 수만큼 실행된다.

이 경우의 수는 1부터 n까지의 숫자 중 중복 없이 3개를 뽑아 크기 순서대로 i, j, k에 할당하는 경우와 같으므로 nC3이다.

 

 

 

#include <iostream>
using namespace std;

int main() 
{
  long n;
  
  cin >> n;
  
  cout << n*(n-1)*(n-2)/6 << "\n3";
  
  return 0;
}