점점 갈수록 문제가 어려워지는 게 느껴진다😂
아직 기초인데 진짜 코딩테스트는 어떡하면 좋지?!?
문제 설명 :
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.
각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.
나의 풀이...
처음에는 reduce에 splice를 써서 해보려는데 또 초깃값 데이터를 인식해서 메소드를 사용하지 못했다.
그래서 이렇게 풀었다.
function solution(arr, queries) {
const answer = [...arr];
for (i=0; i < queries.length; i++) {
const qi = answer[queries[i][0]];
answer[queries[i][0]] = answer[queries[i][1]];
answer[queries[i][1]] = qi;
}
return answer;
}
다른 사람의 풀이를 쭉 구경하는데 이 코드가 제일 깔끔했다.
function solution(arr, queries) {
queries.forEach( ([a,b]) => {
[arr[a],arr[b]] = [arr[b],arr[a]];
})
return arr;
}
코드를 보면 다 이해가 되는데, 바로바로 그 문법이 생각나지 않는 게 문제다.
아직도 ES6을 내 걸로 만들려면 갈 길이 먼 것 같다.
이것도 잘 기억해뒀다가 다른 문제에서 응용해봐야지!
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] 문자 개수 세기, 배열 만들기 4 (0) | 2023.07.13 |
---|---|
[Javascript] 조건에 맞게 수열 변환하기 2 (0) | 2023.07.08 |
[Javascript] 1로 만들기 (+답변 추가) (0) | 2023.06.28 |
[Javascript] 세로 읽기 (0) | 2023.06.27 |
[Javascript] 날짜 비교하기 (0) | 2023.06.23 |
[Javascript] 특이한 이차원 배열 1 (0) | 2023.06.13 |
[Javascript] 특이한 이차원 배열 2 - every() (0) | 2023.06.13 |
[Javascript] Set 객체 (0) | 2023.06.10 |