728x90
반응형
https://www.acmicpc.net/problem/21756
풀이
배열보다는 ArrayList를 이용하면 앞으로 이동시킬 필요가 없다.
for문으로 i번째를 지우게 되면 자동적으로 1칸씩 앞으로 이동해 홀수번에 있는 숫자를 지울 수 있다.
이를 ArrayList의 size가 2보다 작을때까지 반복하면 된다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> arr = new ArrayList<>();
int size = Integer.parseInt(br.readLine());
for(int i = 1; i <= size; i++) {
arr.add(i);
}
while(arr.size() >= 2) {
for(int i = 0; i < arr.size(); i++) {
arr.remove(i);
}
}
System.out.print(arr.get(0));
}
}
728x90
반응형
'백준 > 20001 - 25000' 카테고리의 다른 글
[백준] 21567번 : 숫자의 개수 2(JAVA) (0) | 2021.07.25 |
---|---|
[백준] 21598번 : SciComLove(JAVA) (0) | 2021.07.25 |
[백준] 21771번 : 가희야 거기서 자는 거 아니야(JAVA) (0) | 2021.07.25 |
[백준] 22193번 : Multiply(JAVA) (0) | 2021.07.25 |
[백준] 21734번 : SMUPC의 등장(JAVA) (0) | 2021.07.20 |
댓글