본문 바로가기

알고리즘60

[백준 Silver 5] 11728 배열 합치기 - Java 문제링크 : https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 접근 과정 : 문제 그대로 접근하려고 했다. 하나의 컬렉션으로 합쳐서 입력을 받지 않고, 배열 2개로 나눠서 입력을 받았다. 그리고 포인터를 각 배열에 하나씩 주고, A[i] 와 B[j] 를 비교해가면서 출력했다. 소스 코드 및 결과 : package BOJ; /* 배열 합치기 */ import java.io.*; import java.util.*;.. 2022. 1. 12.
[백준 Silver 4] 1244 스위치 켜고 끄기 - Java 문제링크 : https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 접근 과정 : 문제 그대로 접근했다. 스위치의 상태를 표현할 수 있는 배열을 선언하고. 학생의 성별과 숫자에 따라서 스위치의 상태를 변경했다. 소스 코드 및 결과 : package BOJ; /* 스위치 켜고 끄기 */ import java.io.*; import java.util.*; public class BOJ1244 { public static void main(String.. 2022. 1. 12.
[백준 Gold 1] 2357 최솟값과 최댓값 - Java 문제링크 : https://www.acmicpc.net/problem/2357 접근 과정 : https://rays-space.tistory.com/84 [백준 Gold 1] 10868 최솟값 - Java 문제링크 : https://www.acmicpc.net/problem/10868 10868번: 최솟값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수를 찾는 것은 어려운 일이 아니다. 하지만.. rays-space.tistory.com 위 문제와 같은 같은 문제이다. 위 문제에서 사용했던 세그먼트 트리를 활용하기 위해 해당 문제를 풀게 되었다. 최솟값과 최댓값을 의미하는 세그먼트 트리를 각각 만들어서 문제를 해결했다. 소스 코드 및 결과 .. 2022. 1. 10.
[백준 Gold 1] 10868 최솟값 - Java 문제링크 : https://www.acmicpc.net/problem/10868 10868번: 최솟값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100,000)개 주어졌을 때는 www.acmicpc.net 접근 과정 : 특정 범위가 주어졌을 때, 해당 범위 내의 최솟값을 찾는 문제다. 숫자와 질의 입력이 최대 100,000까지 주어지기 때문에, 일반적인 탐색으로는 힘들것이라고 생각했다. 세그먼트 트리를 사용해 보았다. 내가 이해한 세그먼트 트리는, 특정 범위 내에서의 값(최대값 혹은 최솟값 등)을 노드에 표시하는 것이다. 노드 1은 1~N까지의 값 중.. 2022. 1. 10.