문제 번호 24265번 : 알고리즘 수업 - 알고리즘의 수행 시간 4 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/24265
24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4
오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시
www.acmicpc.net
문제 설명
시간복잡도를 분석하는 문제입니다.
문제 풀이
시간 복잡도에 대한 어느 정도 이해가 필요한 문제입니다.
시간 복잡도가 궁금하신 분들은 아래 게시글을 확인해 주세요.
https://kkungchan.tistory.com/321
알고리즘 - 시간 복잡도(Time Complexity)
이번 게시물은 시간 복잡도에 대해 정리해 보도록 하겠습니다. 정렬 알고리즘이나 백준 알고리즘을 풀 때도 사실 시간 복잡도를 고려하지 않을 수 없습니다. 백준 알고리즘 문제에 시간 복잡도
kkungchan.tistory.com
해당 함수는 n이 7일 때 2~7까지 7번, 3~7까지 6번..1번까지 총 21번을 도는 함수입니다.
즉, 7+6+5+4+3+2+1을 도는 것입니다.
1~n의 총 합의 공식은 n(n-1)/2이 기 때문에 해당 값을 결과 값으로 넣어주면 됩니다.
시간 복잡도는
1+(n-1)+n(n-1)/2+1+1
= n2/2 +n/2 + 2
로 최고사항의 차수는 2가 됩니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n= sc.nextInt();
System.out.println((n*(n-1))/2);
System.out.println(2);
}
}
정확한 이유는 모르지만 n값을 long으로 받아야 정답 처리가 되었습니다.
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
문제 번호 24267번 : 알고리즘 수업 - 알고리즘의 수행 시간 6 - JAVA [자바] (0) | 2023.04.21 |
---|---|
문제 번호 24266번 : 알고리즘 수업 - 알고리즘의 수행 시간 5 - JAVA [자바] (0) | 2023.04.21 |
문제 번호 24264번 : 알고리즘 수업 - 알고리즘의 수행 시간 3 - JAVA [자바] (0) | 2023.04.19 |
문제 번호 24263번 : 알고리즘 수업 - 알고리즘의 수행 시간 2 - JAVA [자바] (0) | 2023.04.19 |
문제 번호 24262번 : 알고리즘 수업 - 알고리즘의 수행 시간 1 - JAVA [자바] (0) | 2023.04.19 |