백준20 [백준 2331번 / Java] 반복순열 수열의 반복되는 지점을 찾아서 몇 번 째에 속하는지 알아내면 되는 문제였다.처음에는 반복 수열이니까 map을 써서 숫자, 값을 저장해서 해결하려 했고 map은 순서를 알 수 없기 때문에 순서를 그대로 유지하는 LinkedHashMap을 사용해보려 했다.그렇지만 문제에서 수열의 값을 반복해서 사용하는 경우가 아닌, 반복이 시작되는 지점만 알아내면 되기 때문에 속도 향상을 위해 map을 사용하되 값으로 위치를 넣어주었다! import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import java.util.StringTok.. 2024. 5. 10. [백준 10451번 / Java] 순열 사이클 문제를 이해하는데 시간이 걸렸던 것 같다. 내가 이해한 바로,1 2 3 4 52 3 5 4 1 마치 쌍을 정해둔 것처럼 1 -> 2, 2 -> 3, 3 -> 5, 5 -> 1(원점으로 돌아오면 한 싸이클) , 4 -> 4 이렇게 총 2개의 싸이클이 형성된다는 것이다.문제를 이해한 후에는 dfs 방식, while문을 써서 풀었고, 처음에 시간 초과가 떠서 BufferedReader로 입력 방식을 수정했더니 해결했다! import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static voi.. 2024. 5. 10. 이전 1 2 3 다음