[문제]
민아는 새 차를 사려고 합니다. 그녀는 돈이 여유롭지 않아 싼 차를 선호합니다. 문제가 있다면, 가장 싼 차는 품질이 의심스럽다는 점입니다.그래서 민아는 자동차 가격표를 만들고 세 번째로 낮은 가격의 차를 사기로 결심했습니다.vector<int> prices 가 주어집니다. 같은 가격이 vector<int> prices 에서 여러 번 나올 수 있지만, 가격 순서에는 한 번만 반영합니다.
자세한 설명은 예제 2를 참조하세요.
이제 vector<int> prices 에서 세 번째로 낮은 가격을 리턴하세요.
vector<int> prices 가 3개 미만인 경우, -1 을 리턴하세요.
풀이 1) - python
더보기
class Solution:
def solution(self, prices):
return sorted(set(prices))[2] if len(set(prices))>=3 else -1
풀이 2) - python
더보기
class Solution:
def solution(self, prices):
prices = sorted(set(prices))
return prices[2] if len(prices) >= 3 else -1
풀이 3) - python
더보기
class Solution:
def solution(self, prices):
answer = -1 #기본 답을 -1로 주어 혹시 세번쨰로 싼 가격을 찾지 못할 경우 이 값을 리턴
detector = 0
pricemap = {} #찾기 효율을 위해 딕셔너리화 베이스
prices.sort()
for price in prices :
if price in pricemap :
pass
else :
pricemap[price] = price
detector += 1
if detector == 3: #세번째로 싼 가격에 도달함
answer = price
break
return answer
'workSpace > ALGORITHM' 카테고리의 다른 글
[숫자 문자열 정렬하기] (0) | 2021.02.02 |
---|---|
[문자열 수정하기] (0) | 2021.02.02 |
[둥근 길] (0) | 2021.02.02 |
[연속 캐시] (0) | 2021.02.02 |
[가장 짧은 팰린드롬] (0) | 2021.02.02 |