프로그래머스_달리기 경주 (Lv. 1) (복습)
심심해서 백준 말고 프로그래머스를 풀어봤는데 난관에 봉착해 버렸다. 심심풀이로 하려다가 공부를 한 꼴이 됐다. 처음엔 시간복잡도 신경 안쓰고 엥? 쉽네~ 이러고 그냥 코딩했다. def solution(players, callings): for i in callings: idx = players.index(i) # 요것이 시간초과의 주범! players[idx-1], players[idx] = players[idx], players[idx-1] return players 하지만...! 무참히 시간 초과 위의 시간복잡도는 players의 길이를 n, callings의 길이를 m이라고 할 때, O(nm)을 가진다. 50,000 * 1,000,000.... 즉, 어마어마하다는 것 인덱싱에 문제가 있는 것은 알았..