
반응형
시간초과로 계속 실패떠서 1시간 30분 잡고 있다가 사람들 글 찾아본 문제이다.
근데도 이해가 잘 안되서 ...
다음번엔 풀고 싶어서 기록하는 문제다..🥺
문제: https://school.programmers.co.kr/learn/courses/30/lessons/154539
문제
실패한 코드
# 방법1 - 뒤에 있는 값을 for문으로 돌면서 큰 값이 있으면 그 값을 , 없으면 -1을 배열에 추가했음 => 시간 초과로 실패
# 끝까지 돌지 않고 뒤에 큰 값이 없을 경우 바로 -1을 리턴하게끔 수정
def solution(numbers):
len_numbers = len(numbers)
answer = []
for idx, number in enumerate(numbers):
# print("========= answer:", answer)
if idx+1 == len_numbers: # 맨 끝 값이면 -1
result = -1
answer.append(result)
break
# 뒤에 큰 값이 없으면 -1
# max_num = max(set(numbers[idx:]))
max_num = max(set(numbers[idx:]))
if number >= max_num:
result = -1
answer.append(result)
continue
for i in range(idx+1, len_numbers):
if numbers[i] > number:
# print("number:", number ,"\t numbers[i]:", numbers[i])
result = numbers[i]
answer.append(result)
break
# elif i+1 == len_numbers: # 끝까지 돌았는데 큰게 없으면
# result = -1
# answer.append(result)
# break
return answer
참고 글: https://school.programmers.co.kr/questions/43218
해당 문제는 우선순위큐를 사용해서 풀면 풀리는 문제였다
우선순위 큐의 존재조차 몰라서 상상도 못했었다
우선순위 큐는 우선순위에 따라서 우선순위가 높은 요소가 먼저 나간다.
해당 글에선 heapq를 사용하는데 해당 모듈은 최소 힙으로 동작한다.
최소 힙은 작은 값이 우선순위가 높다.
따라서 최소 힙에선 작은 값이 먼저 제거가 된다.
근데 아직도 그래서 이게 어떻게 해야 되는건지 잘 모르겠다... ㅋ
공부 더 하고 이 문제를 다시 풀어야지 😂
으아아 내 자신이 너무 한심하게 느껴진다 하하..
코드 안짜고 계속 분석만 하다보니까 기억도 잘 안난당
그렇다해서 분석도 잘되고 있는 것도 아니다
뭐 하나 잘 하고 있는게 없다
그냥 망한듯ㅋㅋㅍ퓨ㅠ
일단 존버하면서 이렇게 코테 문제라도 풀어야지
반응형
'코테공부' 카테고리의 다른 글
[Python] 연습문제 : 롤케이크 자르기 (0) | 2024.10.27 |
---|---|
[Python] 해시 : 폰켓몬 (0) | 2024.10.20 |
[Python] PCCE 기출문제 8번 : 닉네임 규칙 (0) | 2024.09.21 |
[Python] 월간 코드 챌린지 시즌1 : 삼각 달팽이 (0) | 2024.01.06 |
[Python] 2019 카카오 개발자 겨울 인턴십 : 튜플 (0) | 2024.01.02 |