[알고리즘]/문제 풀이

백준 24262번 : 알고리즘 수업 - 알고리즘의 수행 시간 1 (시간복잡도)

JuJu(INTJ) 2023. 10. 26. 10:02

문제

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

입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자.

MenOfPassion 알고리즘은 다음과 같다.

MenOfPassion(A[], n) {
    i = ⌊n / 2⌋;
    return A[i]; # 코드1
}

입력

첫째 줄에 입력의 크기 n(1 ≤ n ≤ 500,000)이 주어진다.

출력

첫째 줄에 코드1 의 수행 횟수를 출력한다.

둘째 줄에 코드1의 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 차수를 출력한다. 단, 다항식으로 나타낼 수 없거나 최고차항의 차수가 3보다 크면 4를 출력한다.

예제 입력 1 복사

1

예제 출력 1 복사

1
0

코드1 이 1회 수행되고 알고리즘은 상수 시간이 소요된다.

 

 

풀이

1. 수행시간에 대해서 알아야한다.

2. 코드의 수행 횟수와 알고리즘의 수행 시간을 출력해야하는 문제 

  • 코드의 수행 횟수 : 해당 코드가 몇 번 수행 됐는지 횟수를 나타낸다
  • 알고리즘 수행 시간 : 알고리즘의 성능 지표. 어떤 작업 A를 수행해야 되는 코드를 작성할 때 이를 해결하는 여러 방법을 알고리즘이라고 한다. 
for _ in range(5):
	print("TEST")
    
이 코드에서 코드의 수행 횟수는 5회이다.
for _ in range(n):
	print(n)

정수 0~n-1까지 출력한다.
알고리즘의 수행 시간은 n의 크기와 비례해 수행되기 때문에 알고리즘 수행시간은 n이다.

for i in range(n):
    for j in range(n):
        print(list[i][j]) # CODE 3
        
n*n 2차원 리스트를 출력한다. n*n번 수행하기 떄문에 알고리즘 수행 시간은 n*2이다.

 

해당 문제 풀이

print("""1 0""")

 

 

참고 자료

https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F%84/

 

[알고리즘] Time Complexity (시간 복잡도) - 하나몬

⚡️ Time Complexity (시간 복잡도) Time Complexity (시간 복잡도)를 고려한 효율적인 알고리즘 구현 방법에 대한 고민과 Big-O 표기법을 이용해 시간 복잡도를 나타내는 방법에 대해 알아봅시다. ❗️효

hanamon.kr

https://kevinitcoding.tistory.com/entry/%EB%B0%B1%EC%A4%80Python-24262%EB%B2%88-%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%9D%98-%EC%88%98%ED%96%89-%EC%8B%9C%EA%B0%84-1-%EB%AC%B8%EC%A0%9C

 

[백준/Python] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 문제

■ 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 문제 ■ 코드 풀이 처음 문제를 접했을 때, 당황스러웠습니다. 아무리 읽어도 문제가 이해가 안 되더군요. 혹시 저와 같은 분이 계셨다면, 아래

kevinitcoding.tistory.com

 

반응형