[문제 링크]
[문제 사고]
주어진 두 배열을 정렬 후 동일한 인덱스 값의 차들을 합하여 반환한다.
[문제 해결]
1. 주어진 두 배열을 오름차순으로 정렬한 배열을 각각 새로 선언해준다.
2. 정답을 넣을 임의의 변수 answer을 선언한 후 0을 할당해준다.
3. 주어진 배열의 길이만큼 반복문을 돌면서 정렬된 배열의 각 인덱스 값의 차를 구한다.
4. 삼항 연산자를 통해 두 값 중 큰 값에서 작은 값을 빼도록 작성한다.
5. 각 값들의 차가 모두 더해진 answer 변수를 반환한다.
[작성 코드]
/**
* @param {number[]} seats
* @param {number[]} students
* @return {number}
*/
var minMovesToSeat = function(seats, students) {
const newSeats = seats.sort((a,b) => a - b);
const newStudents = students.sort((a,b) => a - b);
let answer = 0;
for(let i = 0; i < seats.length; i++){
answer += (newStudents[i] >= newSeats[i] ? newStudents[i] - newSeats[i] : newSeats[i] - newStudents[i])
}
return answer;
};
[문제 회고]
오늘은 시간이 부족했기에 특정 알고리즘이나 그래프 자료구조를 활용하지 않고 하드 코딩하여 구현하였다. 추후에 그래프를 활용하여 문제를 풀어보며 연습을 해 볼 예정이다. 그럼에도 오늘 단순 구현하여 푼 코드가 효율성도 좋고 메모리 효율성도 나쁘지 않았다.
'Coding Test > 항해99 - 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 26일차 TIL(6월 15일) + 자료구조 Array (0) | 2024.06.16 |
---|---|
99클럽 코테 스터디 25일차 TIL(6월 14일) + 자료구조 Array (1) | 2024.06.14 |
99클럽 코테 스터디 23일차 TIL(6월 12일) + 자료구조 Graph (0) | 2024.06.12 |
99클럽 코테 스터디 22일차 TIL(6월 11일) + 알고리즘 이분탐색 (1) | 2024.06.11 |
99클럽 코테 스터디 21일차 TIL(6월 10일) + 알고리즘 이분탐색 (0) | 2024.06.10 |