Giken Dev
[백준][Java] 5430번 : AC 문제풀이 & 코드

https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 실제로 배열을 뒤집어가면서 하면, 시간초과가 났을 것입니다. 따라서 deque를 통해 앞 뒤의 삭제를 해줍니다. 뒤집어진 상태는 reverse 라는 boolean 변수를 통해서 컨트롤합니다. 또한 이 문제에서는 stringbuilder를 써야만 시간초과를 해결할 수 있었습니다 !! package WEEK0.P5430; import java.io.BufferedReader; import java.io.FileInputStream; import java.i..

[백준][11437번 : LCA] 최소 공통 조상 문제

https://www.acmicpc.net/problem/11437 11437번: LCA 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net HTML 삽입 미리보기할 수 없는 소스

[백준][Java] 14503번 로봇 청소기 풀이 (구현, 시뮬레이션)

https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net dfs 방식으로 문제를 해결해보았습니다. 그리고 2차원 배열 map 의 원소는 다음 세가지로 정했습니다. (청소기의 방문 체크를 위해서 체크배열을 굳이 만들지 않음) 0 : 청소해야할 빈 칸 1 : 청소기가 지나가지 못하는 벽 2 : 청소기가 지나갈 수는 있으나, 이미 청소한 칸 direction 이라는 int형 변수를 통해서 0부터 3까지를 북,..

[백준][자바] 1260번 DFS와 BFS

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net //package Practice.P1260; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int ..

[세그먼트 트리] 구간합 구하기 / 원소 변경에서 시간복잡도를 줄이자!
알고리즘 2022. 7. 29. 04:55

https://www.acmicpc.net/blog/view/9 세그먼트 트리 (Segment Tree) 글이 업데이트 되었습니다. https://book.acmicpc.net/ds/segment-tree 문제 배열 A가 있고, 여기서 다음과 같은 두 연산을 수행해야하는 문제를 생각해봅시다. 구간 l, r (l ≤ r)이 주어졌을 때, A[l] + A[l+1] + .. www.acmicpc.net 자세한 글과 그림은 위 baekjoon의 창시자가 직접 쓴 글에 존재합니다. 배열 A가 있고, 여기서 다음과 같은 두 연산을 수행해야하는 문제를 생각해봅시다. 구간 l, r (l ≤ r)이 주어졌을 때, A[l] + A[l+1] + ... + A[r-1] + A[r]을 구해서 출력하기 i번째 수를 v로 바꾸기...