오랜만에 자바
1. 왜 변수가 오는 자리에 상수를?
21번 줄의 list.size() 대신 N을 사용했다가 왜 안되지? 이러고 있었다.
리스트 앞/뒤로 추가 삭제가 일어나기 때문에 N을 사용해선 안된다.
2. 왜 입력 다 받고 코딩 줄줄줄 하려 하는가?
습관처럼 앞에서 입력을 다 받아야 한다고 생각하지 말자. 유연하게 풀기
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
32
33
34
35
36
37
38
|
package ps;
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
LinkedList<Integer> list = new LinkedList<Integer>();
int N, M;
N = sc.nextInt();
M = sc.nextInt();
for (int i = 1; i <= N; i++) {
list.add(i);
}
int ans = 0;
int num = 0;
for (int i = 0; i < M; i++) {
num = sc.nextInt();
while (num != list.get(0)) {
if (list.indexOf(num) <= list.size() / 2) {
int first = list.getFirst();
list.removeFirst();
list.addLast(first);
} else {
int last = list.getLast();
list.removeLast();
list.addFirst(last);
}
ans++;
}
list.removeFirst();
}
System.out.println(ans);
}
}
|
cs |
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][Javascript] 타겟 넘버 (0) | 2021.04.25 |
---|---|
[프로그래머스][Javascript] 체육복 (0) | 2021.04.25 |
[C++][백준 2178] 미로탐색 - 가중치가 없는 그래프의 최단경로? (0) | 2020.03.13 |
[백준 5014][C++] 스타트 링크 (0) | 2020.02.09 |
[백준 2644][C++] 촌수계산 (0) | 2020.02.07 |
댓글