코딩테스트/PYTHON

[프로그래머스][PYTHON] Lv. 0 수열과 구간 쿼리 3

_알파카 2023. 12. 27. 03:09
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/181924

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이

def solution(arr, queries):
    answer = []
    
    for query in queries:
        # print(query) # [0, 3] [1, 2] [1, 4]
        a = arr[query[0]]
        b = arr[query[1]]
        arr[query[0]] = b
        arr[query[1]] = a
    
    answer = arr
    return answer

어렵지는 않은 문제였다. 2차원 리스트라 이중 for문을 돌까 생각했지만 그럴 필요는 없었다. 

(중간 4줄 코드는 좀 멍청한 코드긴 한듯하다 ㅋㅋ)

 

까먹었던 개념!!

def solution(arr, queries):
    for a,b in queries:
        arr[a],arr[b]=arr[b],arr[a]
    return arr

 

파이썬의 2차원 리스트를 순회하는 방법을 까먹고 있었다!

in 앞에 변수를 2개 지정해주면 안쪽 리스트에서도 요소를 꺼내올 수 있다. 

여기서 당연히 in 앞에 변수의 개수는 2차원 리스트에서 가로 크기(안쪽 리스트의 요소 개수)와 일치해야만 한다. 

까먹었던 개념이라 글로써 정리해본다. 

 

끄읏-!

728x90