본문 바로가기
BOJ/[BOJ] Python

백준 24265번 풀이

by Lv. 35 라이츄 2023. 7. 11.

문제

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

 

24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4

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

www.acmicpc.net

주어진 알고리즘의 수행 시간 출력하기

 

풀이

MenOfPassion(A[], n) {
    sum <- 0;
    for i <- 1 to n - 1
        for j <- i + 1 to n
            sum <- sum + A[i] × A[j]; # 코드1
    return sum;
}

당최 무슨 언어인지 모르겠는 이 코드를 보자. 범위가 24264번 문제와 달리 고정이 안됐다...? 그치만 반복문은 두 개라는 그 사실은 변함이 없으므로 다차(2차)라는 것 역시 변하지 않는다. 그럼 패턴만 파악하면 되겠네요? 예, 그렇죠.

 

일단 7을 넣었을때 왜 21이 나오는지 알아야 하니 파이썬으로 짜보자.

import sys

k = int(sys.stdin.readline())

sum = 0
for i in range(1, k):
    for j in range(i+1, k+1):
        print(i,j)
        sum += 1

print(sum)

저기에 7을 넣으면

 

1: 2, 3, 4, 5, 6, 7
2: 3, 4, 5, 6, 7
3: 4, 5, 6, 7
4: 5, 6, 7
5: 6, 7
6: 7

 

이렇게 나온다. 이제 위에서부터 콜론 옆 숫자가 몇 개인지를 보자. 6+5+4+3+2+1 하면 21이네? 그럼 5를 넣으면 10인가요? 네. 이거 초항이 1 마지막 항이 n-1이고 공차가 1인 등차수열의 합이다.

 

import sys

k = int(sys.stdin.readline())

a = list(range(1,k))
print(sum(a))
print(2)

난 걍 배열 만들어서 배열 합 출력했는데 등차수열 공식 이용하실 분들은 그거 쓰십셔.

'BOJ > [BOJ] Python' 카테고리의 다른 글

백준 24267번 풀이  (0) 2023.07.15
백준 24266번 풀이  (0) 2023.07.13
백준 24264번 풀이  (0) 2023.07.10
백준 24263번 풀이  (0) 2023.07.05
백준 24262번 풀이  (0) 2023.07.03

최근댓글

최근글

skin by © 2024 ttutta