문제를 풀수록 HSAT 문제들이 알차게 구성되어있다는 것을 느꼈다..
5만개의 숫자가 들어오고, 쿼리는 20만개까지 들어올 수 있으므로, 편하게 로직을 짜면 바로 시간초과가 날 것 같았다.
쿼리에서 어떤 숫자가 주어지면, 해당 숫자가 data 배열에서 몇 번째에 있는지 바로바로 알아낼 수 있어야한다.
data.index(찾아야 할 수) 와 같은 연산을 매 번 반복하면 시간초과가 나게 된다.
따라서 dictionary 형태로 구성하여 key는 우리가 찾는 수, value는 (그 숫자 앞에 있는 숫자의 갯수, 그 숫자 뒤에 있는 숫자 갯수) 로 구성하여 쿼리에서 곱셈만 해서 print하면 되도록 HASH를 미리 구성해두는 것이 핵심이다.
Softeer Level3: 강의실 배정 (Greedy, with Python) (0) | 2023.10.02 |
---|---|
Softeer Level3: [HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기 ( Back Tracking / with Python) (0) | 2023.10.02 |
Softeer Level4: 복잡한 조립라인1 (Dynamic Programmin / with Python) (0) | 2023.10.02 |
Softeer Level 2: GBC (구현 / with Python) (0) | 2023.10.01 |
Softeer Level 2: [21년 재직자 대회 예선] 전광판 (0) | 2023.10.01 |