Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Matrix
- Binary Search
- string
- array
- Counting
- 코테
- dynamic programming
- Stack
- sorting
- Tree
- implement
- simulation
- 자바
- Binary Tree
- bit manipulation
- SQL
- greedy
- Class
- 파이썬
- Number Theory
- java
- two pointers
- 코딩테스트
- Method
- Data Structure
- database
- 구현
- Math
- geometry
- hash table
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2037. Minimum Number of Moves to Seat Everyone 본문
1. Input
1) 정수 배열 seats
- 학생들이 앉아야 할 자리의 번호가 담겨있다.
2) 정수 배열 students
- 학생들이 현재 앉아 있는 자리의 번호가 담겨있다.
2. Output
1) 1회에 학생 1명을 1칸씩 옮길 때, seats에 적힌 자리에 학생들을 모두 앉힐 수 있는 최소한의 이동 횟수를 반환
3. Constraint
1) n == seats.length == students.length
2) 1 <= n <= 100
3) 1 <= seats[i], students[j] <= 100
4) 자리를 모두 이동한 후에는 한 자리에 1명의 학생만 앉아 있다.
4. Example
Input: seats = [3,1,5], students = [2,7,4] -> Output: 4
설명:
- 2번에 앉은 학생이 1칸 움직여 1번 자리로 간다.
- 7번에 앉은 학생이 2칸 움직여 5번 자리로 간다.
- 4번에 앉은 학생이 1칸 움직여 3번 자리로 간다.
- 총 4칸을 움직였고, 이보다 이동 횟수가 적은 방법은 없으므로 4를 반환한다.
5. Code
1) 첫 코드(2022/07/01)
import java.util.*;
Arrays.sort(seats);
Arrays.sort(students);
int n = 0;
for(int i=0 ; i<seats.length ; i++)
n += Math.abs(seats[i]-students[i]);
return n;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.1] 푸드 파이트 대회 (0) | 2023.01.11 |
---|---|
[LeetCode/Easy] 100. Same Tree (0) | 2023.01.11 |
[LeetCode/Easy] 2022. Convert 1D Array Into 2D Array (0) | 2023.01.11 |
[LeetCode/Easy] 2016. Maximum Difference Between Increasing Elements (0) | 2023.01.11 |
[LeetCode/Easy] 2011. Final Value of Variable After Performing Operations (0) | 2023.01.11 |