• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

역수열 문제 관련 질문

21.01.15 16:54 작성 조회수 69

0

안녕하세요 강사님 역수열 문제를 풀다가 제 코드가 논리상에 오류가 있는지와 효율성에 대해 알고 싶어서 질문드립니다.

저는 이전 강의에서 강사님께서 알려주신 deque를 이용해서 문제를 풀었습니다. deque를 선언하고 큰 수부터 내림차순으로 위치 배치를 수행했습니다. 특정 숫자와 특정숫자보다 큰 수의  갯수는 인덱스로 deque의 insert 연산을 이용하였는데요 deque의 insert연산을 사용하는 알고리즘이 정적 크기 list를 선언하고 배치하는 알고리즘과 효율성이 얼마나 차이가 나는지 알고 싶습니다. 또 제 코드의 논리가 맞는지도 알고 싶습니다

import sys
from collections import deque

def solution(n, lst):
    dq = deque()
    for i in range(n, 0, -1):
        dq.insert(lst.pop(),i)
    return " ".join(list(map(str, dq)))


if __name__ == "__main__":
    sys.stdin = open("input9.txt", "r")
    n = int(input())
    lst = list(map(int, input().split()))
    answer = solution(n, lst)
    print(answer)

답변 1

답변을 작성해보세요.

0

안녕하세요^^

효율성의 큰 차이는 없어 보입니다.

맞는 논리입니다. 먼저 들어간 숫자들이 현재 i보다 모두 크다는 논리로 위코드처럼 푸는 경우도 많습니다.