[백준/Python] 21318. 피아노 체조

2024. 12. 30. 20:09·CODING_TEST

※ 문제

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

 

※ 문제 유형

누적합 (SILVER_1)

※ 나의 풀이

  • 슬라이싱을 활용한 풀이 -> 시간 초과
  • 누적합으로 해결
  • 실수 여부 판단 리스트 mistake 배열 생성
  • 누적합 배열 생성 (mistake 배열 활용)
  • 질문 Q 처리 
import sys

N = int(sys.stdin.readline())
li = [0] + list(map(int, sys.stdin.readline().split()))

# 실수 여부 판단 리스트 생성
mistake = [0] * N  # 0부터 시작, 길이는 N
for i in range(1, N):  # 인접한 요소 비교
    if li[i] > li[i + 1]:
        mistake[i] = 1

# 누적합 계산
s_num = [0] * (N + 1)
for i in range(1, len(mistake)):
    if i == 1:
        s_num[i] = mistake[i]
    else:
        s_num[i] = mistake[i] + s_num[i - 1]


# 질문 (Q) 처리 
Q = int(sys.stdin.readline())
for _ in range(Q):
    x, y = map(int, sys.stdin.readline().split())

    if x == y: # 같은 위치의 경우, 항상 0 출력
        print(0)
        continue

    else:
        ans = s_num[y - 1] - s_num[x - 1]
        print(ans)



'CODING_TEST' 카테고리의 다른 글

[프로그래머스/Python] 가장 먼 노드  (0) 2025.01.06
[백준/Python] 1003. 피보나치 함수  (0) 2024.12.31
[백준/Python] 2805. 나무 자르기  (0) 2024.12.30
[백준/Python] 14916. 거스름돈  (0) 2024.12.29
[백준/Python] 9095. 1, 2, 3 더하기  (1) 2024.12.26
'CODING_TEST' 카테고리의 다른 글
  • [프로그래머스/Python] 가장 먼 노드
  • [백준/Python] 1003. 피보나치 함수
  • [백준/Python] 2805. 나무 자르기
  • [백준/Python] 14916. 거스름돈
YAHO_STUDY
YAHO_STUDY
DATA&AI_study.zip
  • YAHO_STUDY
    YAHO_CODE
    YAHO_STUDY
  • 전체
    오늘
    어제
    • 분류 전체보기 (57)
      • Paper Review (0)
      • SQL (16)
      • CODING_TEST (21)
      • Time Series (0)
      • DL (20)
        • NLP (5)
        • LLM&RAG (15)
        • Recommender System (0)
      • 최적화 (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    boj
    Programmers
    PEFT
    fine-tuning
    qlora
    양자화
    MySQL
    한 권으로 끝내는 실전 llm 파인튜닝
    prompt-tuning
    Gemma
    RNN
    graph
    Lora
    runpod
    coding_test
    quantization
    DP
    SQL
    pagedattention
    hash
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
YAHO_STUDY
[백준/Python] 21318. 피아노 체조
상단으로

티스토리툴바