1463번 2

[백준, 자바, 1463번] 1로 만들기

풀이뭔가 시간 제한이 짧아서 걱정했지만,간단히 해결 가능했음.우선 bfs처럼 deque에 추가하기 전에 추가할 값에 해당하는 li의 index를 변경 후 추가이렇게 함으로써 같은 걸, 추가하지 않고 빠르게 해결하고자 했음. import java.util.*;public class _1463 { static Deque> dq = new ArrayDeque(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); boolean[] li = new boolean[N+1]; dq.add(new ArrayList(Arrays.a..

알고리즘 2024.10.23

[백준, 파이썬, 1463번] 1로 만들기

풀이 deque를 활용한 BFS 방식의 풀이 ( 더 빠름 ) q에는 초기값으로 n과 0으로 값과 그에 따른 카운팅을 넣어주기 이후 3,2로 나누어 떨어지는 경우와 -1한 경우를 q에 추가하기만 해서 1이 되는 경우 제출을 했지만 시간초과가 발생하기에 가지치기를 해서 나누어 떨어질 경우 li에 cnt 값을 넣어주어 만약 중간에 q를 통해 접근했던 적이 있다면 더 이상 반복해서 조회하지 않도록 해서 풀이 DP를 활용한 풀이 li의 1,2,3 번 배열에 초기값을 채운 다음 3,2로 나누어 떨어지는 경우와 -1한 경우를 조사해서 해당 값의 li의 index 값에 +1 을 하는 방식 여기서 중요한 점으로 3과 2가 함께 나누어 떨어지는 경우가 있기에 조건 분기를 가장 처음에 해줘서 풀이! BFS 풀이 from c..

알고리즘 2023.09.07