반응형

<문제>
프로그램 명: complete_graph
제한시간: 1 초
꼭지점(vertex)의 수 n 이 주어질 때 임의의 점에서 다른 점으로 바로 가는 길이 존재할 때 선의 수(edge) 을 구하는 것이 문제이다.
n 이 4 이면 6 개의 선이 존재한다.

입력
n 이 주어진다. n 은 2 이상 1000 이하의 정수이다.
출력
선의 수를 출력한다.
입출력 예
입력 4 출력 6
* 이러한 그래프를 완전 그래프(complete graph)라 합니다.
<코드>
n = int(input()) sum = 0 while n != 1: n -= 1 sum += n print(sum)
n = int(input())
sum = 0
while n != 1:
n -= 1
sum += n
print(sum)
n 개의 점이 있다고 하면 n 번 점은 1~n-1 번 점까지, n-1 번 점은 1~ n-2 번 점 까지 ..... 4번 점은 1,2,3 번 점과 이어지고, 3번 점은 1,2번 점과, 그리고 마지막 2번 점은 1번 점과 이어지면 완전 그래프가 된다. 따라서 n 개의 점이 있을 때 선의 개수 합은 1+2+3+...+n-2+n-1 즉 1 부터 n-1 까지의 합이 된다.
1 부터 n 까지의 합은 n(n+1) / 2 이므로 아래와 같이 구할 수 도 있다.
n = int(input())
print(int((n-1)*n/2))
문제 출처 - http://59.23.150.58/30stair/
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[PYTHON] 백준 2501번 약수 구하기 (0) | 2020.02.22 |
---|---|
[PYTHON] 층 수 구하기 (완전이진트리) (0) | 2020.02.22 |
[PYTHON] 교차점 수 구하기(COCI 기출문제) (0) | 2020.02.22 |
[PYTHON] 45분 전 시간 구하기 (0) | 2020.02.22 |
[PYTHON] 윤년 (0) | 2020.02.22 |