모두CBT

다음 Python 소스코드에 대한 순환 복잡도는?temp = []i =… | [7급 국가직 소프트웨어공학] 24년 1회차 기출문제 상세 페이지

1[7급 국가직 소프트웨어공학] 24년 1회차
다음 Python 소스코드에 대한 순환 복잡도는?
temp = []
i = 0
d = 2
arr = [1, 2, 3, 4, 5]
while (i < d):
temp.append(arr[i])
i = i + 1
i = 0
while (d < len(arr)):
arr[i] = arr[d]
i = i + 1
d = d + 1
arr[:] = arr[: i] + temp
1
2
2
3
3
4
4
5
해설

이 코드의 순환 복잡도는 3이다. 조건 판단 지점인 while 문이 2개이므로 판단 수에 1을 더한다.

V(G)=P+1V(G) = P + 1 (PP: 조건 판단 노드 수)
V(G)=2+1=3V(G) = 2 + 1 = 3

나머지 대입문과 리스트 연산은 분기를 만들지 않으며, 제어 흐름 그래프로 그려도 영역 수가 3으로 같다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 소프트웨어공학] 24년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 소프트웨어공학 기출문제 암기장 전체 보기