[프로그래머스] 178871번

그녕·2024년 3월 7일
0

알고리즘 문제 풀이

목록 보기
28/35

문제

코드

def solution(players, callings):
    players_dict = dict()
    for i,j in enumerate(players):
        players_dict[j] = i
    #print(players_dict)
    
    for i in callings:
        race = players_dict.get(i)
        players_dict[players[race]] -= 1
        players_dict[players[race-1]] += 1
        #print(players_dict)
        players[race],players[race-1] = players[race-1],players[race]
        
    return players

몰랐던 개념

1. enumerate 함수

for i in enumerate(players):
    print(i)

이렇게만 실행하면 출력으로는
(0, 'mumu')
(1, 'soe')
(2, 'poe')
(3, 'kai')
(4, 'mine') 이렇게 나온다.

여기서 괄호를 없애주거나 dict에 넣어준다면,

for i,j in enumerate(players):
        print(i,j)

이렇게 작성하면 출력으로는
0 mumu
1 soe
2 poe
3 kai
4 mine 이렇게 나온다.
이를 참고해서 dict에 담아줄수도 있다

2. get과 dict

dictionary는 {}중괄호를 이용하고 key:value 형태로 한 쌍으로 이루어진다. key에는 바뀔수 없는 object만 와야함

get 함수는 x라는 key에 대응되는 value값을 반환하는 것이다.

0개의 댓글