Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

우주에서 글을 적어본다

99클럽 코테 스터디 26일차 TIL + 시뮬레이션 본문

항해99 TIL

99클럽 코테 스터디 26일차 TIL + 시뮬레이션

우주로 날아간 사람 2024. 8. 16. 20:37

[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "달리기 경주" 문제를 풀었다.
- 오늘의 주제는 시뮬레이션이다.
- callings 배열 길이가 백만 번까지 인데, 백만 번 부를 정도면 얼마나 치열한 경기일까라는 글이 너무 웃겼다. ㅋㅋㅋㅋ

[나의 코드]

def solution(players, callings):
    # 다음은 리스트 컴프리헨션으로 쓴 코드
    #rank = {player: i for i, player in enumerate(players)}
    
    rank = {}
    for i in range(len(players)):
        rank[players[i]] = i

    for call in callings:
        cur_index = rank[call]
        prev_player = players[cur_index - 1]
        
        players[cur_index - 1], players[cur_index] = players[cur_index], players[cur_index - 1]
        
        rank[call] -= 1
        rank[prev_player] += 1
    
    return players

문제를 읽자마자 딕셔너리에 넣어서 순위를 바꿔봐야겠다고 생각했다.
그리고 구현 하고 나서 변수 이름을 예쁘게 정리해 보았다.

음... 코드 자체가 이해하기 어렵지 않을 것이다.
인덱스를 얼마나 자유자재로 갖고 노느냐가 문제이려나???

[오늘의 회고]
- 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 머리를 굴리자. 끝!