반응형
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
- java
- dp
- 동적계획법
- 자바공부
- 백준단계별로풀어보기
- 자바의정석연습문제
- 백준9단계
- dfs
- 자바의정석연습문제풀이
- 자바의정석
- 알고리즘
- 브루트포스
- 무료코딩강의
- 백트래킹
- 무료개발강의
- 백준알고리즘
- 알고리즘공부
- Java개념
- 코딩공부
- 빅오 표기법
- 다이나믹 프로그래밍
- 개발공부
- 자바개념
- 자바
- 백준
- 백준자바
- ☆
- ★
- BFS
- 시간 복잡도
Archives
- Today
- Total
더 많이 실패하기
백준 1158번 요세푸스 문제 자바 Java (☆공부 231일차) 본문
반응형
1158 요세푸스 문제
https://www.acmicpc.net/problem/1158
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
백준 1158번 문제 요세푸스 문제
문제
공부 81일차: 백준 1158번 요세푸스 문제 자바 Java
1158 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 백준 1158번 문제 요세푸스 문제
gimbalja.tistory.com
4달 전에 풀었던 문제
이때 출제자가 의도한 대로 큐를 사용해서 풀어봤으니, 이번엔 리스트 이용해 풀어보았다
숫자를 뒤로 보내면서 큐에 넣었다가 빼는 작업을 반복했던 이전과 달리 위치만 찾아 바로 제거한
막히는 부분은 백준 정답 코드 중 시간이 빠른 풀이를 참고했다
정답 인정 코드
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
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder("<"); // < 붙이고 시작
ArrayList<Integer> list = new ArrayList<>();
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
for(int i = 0; i < n; i++) {
list.add(i+1);
}
int idx = 0;
// 처음부터 k-1로 초기화하고 sb.append(list.get(idx)); 하는 방법도 있지만 코드 중복
while(!list.isEmpty()) {
idx = (idx+k-1)%n; // 뺄 자리 추적
sb.append(list.get(idx));
if(n != 1) { // 끝에 , 안 붙이기 위함
sb.append(", ");
}
list.remove(idx);
n--;
}
sb.append(">");
System.out.println(sb.toString());
}
}
|
cs |

리스트를 이용한 최근 풀이가 훨씬 빠르다(그래서 시작해본 것도 있지만)
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 17413번 단어 뒤집기 2 자바 Java (☆공부 233일차) (0) | 2023.03.20 |
---|---|
백준 10866번 덱 자바 Java (☆공부 232일차) (0) | 2023.03.19 |
백준 10845번 큐 자바 Java (☆공부 230일차) (0) | 2023.03.17 |
백준 1406번 에디터 자바 Java (☆공부 229일차) (0) | 2023.03.16 |
백준 1874번 스택 수열 자바 Java (☆공부 228일차) (0) | 2023.03.15 |
Comments