강의로 돌아가기
송민혁

시간초과 나시는 분들 참고하세요

n의 범위가 107 까지 있기 때문에 코드를 정말 빡빡하게 짜야 합니다.

문제에서 left와 right를 제시한 만큼 left 전 의미없는 값들과 right 후 의미없는 값들은 아예 만들지 않고
스킵하는 방식으로 코드를 짜야 합니다.
그리고 배열의 초반에 같은 값이 연속되는 경우가 많기 때문에 해당 값들은 for문 없이 배열로 만들고 뒤의 연속적으로 증가하는 값만 for문으로 만들어 붙이는 방식이 for문을 적게 돌기 때문에 시간을 아낄 수 있었습니다.

즉 수많은 값들 중 left와 right 사이의 값만 만들 수 있다면 최상의 코드고 아무리 못해도 우리가 만들 값의 범위는
최대 (left - n) ~ (right + n) 사이의 값만 만들고 잘라야 시간초과가 나지 않으실 겁니다.

제 설명이 도움이 되면 좋겠습니다. 화이팅!!

  • 윤의현

    오우 매우좋은 참고 감사합니다!!

    윤의현―2021.11.03 23:38
  • yongseok

    감사합니다. 큰 도움 되었습니다.

    yongseok―2022.06.24 01:27
  • 리딩파이

    조언 감사합니다. 중요체크~~

    리딩파이―2023.05.04 15:34
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.