[Python] 백준/BOJ 14929번: 귀찮아 (SIB) (Silver 4)

2025. 7. 11. 11:56·Algorithm/백준 (BOJ)
반응형

💻 Problem

문제 보러 가기

 

n과 xi가 주어진다. n은 10만 이하이고, xi는 절댓값이 100 이하인 정수이다.

 

💡 Approach

문제의 식을 처음 봤을 때는 이중반복문이 생각났다.

하지만 n의 최댓값이 10만(10^5)이므로 이중반복문으로 풀면 시간 초과가 된다.

 

만약 이중반복문으로 푼다고 생각하면

  • i가 0일 때, x[0] * x[1] + x[0] * x[2] + ... 이고
    • x[0] * (x[1] + x[2] + ...)
  • i가 1일 때, x[1] * x[2] + x[1] * x[3] + ... 이고
    • x[1] * (x[2] + x[3] + ...)
  • ...

이런 식일 것이다.

 

이는 각 x[i]가 이후 원소들과 모두 곱해지는 구조이기 때문에 x[i]를 공통 인수로 묶을 수 있다.

x의 모든 원소의 합을 구해놓으면 해당 합에서 x[i]를 빼는 방식으로 계산량을 줄일 수 있다.

이렇게 되면 시간 복잡도는 O(n^2) → O(n)이 된다.

 

✏️ Solution

import sys
input = sys.stdin.readline

n = int(input())
x = list(map(int, input().split()))
total = sum(x)
ans = 0

for i in range(n):
    total -= x[i]
    ans += x[i] * total

print(ans)

 

반응형

'Algorithm > 백준 (BOJ)' 카테고리의 다른 글

[Python] 백준/BOJ 3054번: 피터팬 프레임 (Silver 5)  (0) 2025.07.13
[Python] 백준/BOJ 22869번: 징검다리 건너기 (small) (Silver 1)  (0) 2025.07.12
[Python] 백준/BOJ 17086번: 아기 상어 2 (Silver 2)  (0) 2025.07.10
[Python] 백준/BOJ 3197번: 백조의 호수 (Platinum 5)  (0) 2025.07.03
'Algorithm/백준 (BOJ)' 카테고리의 다른 글
  • [Python] 백준/BOJ 3054번: 피터팬 프레임 (Silver 5)
  • [Python] 백준/BOJ 22869번: 징검다리 건너기 (small) (Silver 1)
  • [Python] 백준/BOJ 17086번: 아기 상어 2 (Silver 2)
  • [Python] 백준/BOJ 3197번: 백조의 호수 (Platinum 5)
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (198)
      • SSAFY (10)
      • Algorithm (115)
        • 이론 (6)
        • 백준 (BOJ) (108)
        • 프로그래머스 (1)
      • Trouble Shooting (9)
      • Frontend (7)
      • React (17)
      • Next.js (4)
      • Vue (4)
      • Node.js (2)
      • HTML (9)
      • DevOps (4)
        • Git (4)
      • Language (9)
        • JavaScript (0)
        • Java (9)
      • Embedded (1)
      • CS (5)
        • Network (1)
        • Blockchain (4)
      • 자격증 (2)
  • 블로그 메뉴

    • GitHub
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Heap
    티스토리챌린지
    Java
    브루트포스
    블록체인
    React
    html5
    우선순위큐
    백트래킹
    dfs
    Error
    Next.js
    알고리즘
    SSAFY
    강의
    파이썬
    재귀
    DP
    수학
    SSAFYcial
    Algorithm
    중복조합
    구현
    순열
    힙
    bfs
    중복순열
    오블완
    싸피
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
올콩
[Python] 백준/BOJ 14929번: 귀찮아 (SIB) (Silver 4)
상단으로

티스토리툴바