프로그래머스 파이썬 기초 해석 :: 수열과 구간 쿼리 3 *

      

프로그래머스 URL

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



프로그래머스 코딩 카테고리 

코딩 기초 트레이닝

Day 6 조건문, 반복문 - 수열과 구간 쿼리 3 

Lv.0





문제 설명

정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.

각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.

위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.



arr         queries result
[0, 1, 2, 3, 4] [[0, 3],[1, 2],[1, 4]]         [3, 4, 1, 0, 2]



제한 사항

1 ≤ arr의 길이 ≤ 1,000

0 ≤ arr의 원소 ≤ 1,000,000

1 ≤ queries의 길이 ≤ 1,000

0 ≤ i < j < arr의 길이




문제 이해

[입력] 정수 배열 arr, 2차원 정수배열 queries

[출력] 정수 배열 answer  

2차원배열의 [i, j] = arr[i] <-> arr[j]


문제를 다 풀고나서 다시 보니까, 

이 문제는 2차원 정수배열인 queries를 for문 반복 시켰을때 요소를 어떻게 쓰는지 배울 수 있는 문제같다.


------------------------




2차원배열 반복 :  

2차원배열의 행에 접근하는 방법 (for i in queries) 
def solution(arr, queries):
    for i in queries:
        arr[i[1]], arr[i[0]] = arr[i[0]], arr[i[1]]
    return arr


2차원배열의 요소를 동시에 접근하는 방법 (for a, b in queries) 
def solution(arr, queries):
    for a, b in queries : 
        arr[a], arr[b] = arr[b], arr[a]
    return arr



[[0, 3],[1, 2],[1, 4]]인 queries를 for문으로 반복 시킬때, 

for i in queries 한 화면으로, 요소를 하나(i)로 두면 2차원배열의 행에 접근하며 돌아가게 된다.


아래는 for a, b in queries 화면으로, 

요소를 2차원 배열의 열 갯수만큼(a, b) 두면 2차원배열의 행과 열을 동시에 접근한다. 










댓글

이 블로그의 인기 게시물

[KT 에이블스쿨 - IT 트랜드] 국내외 AI 관련 규제

KT 에이블스쿨 : 6-7차 미니프로젝트 - 제안서 기반 솔류션 기획 및 설계

KT 에이블스쿨 : 클라우드 서비스 1일차 정리