[LeetCode] 1475. Final Prices With a Special Discount in a Shop (Python)

2024. 12. 18. 18:01·알고리즘/LeetCode

 

난이도: Easy

문제 설명


You are given an integer array prices where prices[i] is the price of the ith item in a shop.

 

There is a special discount for items in the shop. If you buy the ith item, then you will receive a discount equivalent to prices[j] where j is the minimum index such that j > i and prices[j] <= prices[i]. Otherwise, you will not receive any discount at all.

 

Return an integer array answer where answer[i] is the final price you will pay for the ith item of the shop, considering the special discount.

 

문제 예제


Example 1:

Input: prices = [8,4,6,2,3]
Output: [4,2,4,2,3]
Explanation:
For item 0 with price[0]=8 you will receive a discount equivalent to prices[1]=4, therefore, the final price you will pay is 8 - 4 = 4.
For item 1 with price[1]=4 you will receive a discount equivalent to prices[3]=2, therefore, the final price you will pay is 4 - 2 = 2.
For item 2 with price[2]=6 you will receive a discount equivalent to prices[3]=2, therefore, the final price you will pay is 6 - 2 = 4.
For items 3 and 4 you will not receive any discount at all.

Example 2:

Input: prices = [1,2,3,4,5]
Output: [1,2,3,4,5]
Explanation: In this case, for all items, you will not receive any discount at all.

Example 3:

Input: prices = [10,1,1,6]
Output: [9,0,1,6]

 

제한 사항


  • 1 <= prices.length <= 500
  • 1 <= prices[i] <= 1000

 

✏️ Solution(솔루션)


class Solution:
    def finalPrices(self, prices: List[int]) -> List[int]:
        n = len(prices)

        for i in range(n):
            for j in range(i+1, n):
                if prices[i] >= prices[j]:
                    prices[i] -= prices[j]
                    break

        return prices

 

제한사항을 보니 input 데이터가 크지 않아 단순히 Brute Force방법으로 풀었다.

 

다른 사람들의 풀이를 보니 나처럼 brute force로 푼 사람도 있고 stack을 이용해 푼 사람도 있는 것 같다.

 

stack을 사용해서도 한번 풀어봐야될 것 같다.


1475. Final Prices With a Special Discount in a Shop 

'알고리즘 > LeetCode' 카테고리의 다른 글

[LeetCode] 2337. Move Pieces to Obtain a String (Python)  (1) 2024.12.20
[LeetCode] 769. Max Chunks To Make Sorted (Python)  (0) 2024.12.19
[LeetCode] 2182. Construct String With Repeat Limit (Python)  (1) 2024.12.17
[LeetCode] 3264. Final Array State After K Multiplication Operations I (Python)  (1) 2024.12.16
[LeetCode] 1792. Maximum Average Pass Ratio (Python)  (0) 2024.12.15
'알고리즘/LeetCode' 카테고리의 다른 글
  • [LeetCode] 2337. Move Pieces to Obtain a String (Python)
  • [LeetCode] 769. Max Chunks To Make Sorted (Python)
  • [LeetCode] 2182. Construct String With Repeat Limit (Python)
  • [LeetCode] 3264. Final Array State After K Multiplication Operations I (Python)
Laewon Jeong
Laewon Jeong
  • Laewon Jeong
    래원
    Laewon Jeong
    글쓰기 | 관리
  • GitHub

    • github.com/laewonJeong
  • 전체
    오늘
    어제
    • 분류 전체보기 (172)
      • Docker 및 Kubernetes (11)
        • Docker (5)
        • Kubernetes (6)
      • Data Engineering (18)
        • Hadoop (5)
        • Spark (5)
        • Kafka (5)
        • Airflow (3)
      • CI|CD (3)
      • 알고리즘 (136)
        • 알고리즘 (2)
        • LeetCode (118)
        • 프로그래머스 (11)
        • BOJ (1)
        • 코딩테스트 대비 (4)
      • 서버 (2)
        • 미니 서버 (2)
      • 잡담 (1)
  • 태그

    Kubernetes
    DP
    누적합
    programmers
    Apache Spark
    분산
    알고리즘
    이진탐색
    heapq
    dfs
    쿠버네티스
    우선순위큐
    leetcode
    그래프
    아파치 하둡
    Python
    프로그래머스
    분산처리
    문자열
    티스토리챌린지
    파이썬
    docker
    도커
    String
    백트래킹
    오블완
    아파치 스파크
    리트코드
    코딩테스트
    BFS
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Laewon Jeong
[LeetCode] 1475. Final Prices With a Special Discount in a Shop (Python)
상단으로

티스토리툴바