알고리즘/Baekjoon

    [백준] 14719 빗물 (JAVA)

    ✉️문제 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 📝 접근 왼쪽에 있는 기둥의 최대값(LM)과 오른쪽에 있는 기둥의 최대값(RM)을 구한다. LM과 RM의 최소값을 구한다. 최소값 - 현재 인덱스의 높이 🗝 문제풀이 public class Q14719_B { static int[] heights; public static void main(String[] args) { Scanner sc = new Scanner(Sys..

    [백준] 2504 괄호의 값

    ✉️문제 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 📝 접근 분배법칙을 이용하면 쉽게 풀 수 있다. 일단 stack과 Tmp 변수를 준비하자. 여기에 분배법칙을 한 값들을 더 해줄 예정이다. 1. ‘(’이면 tmp변수에 2를 곱해준다. 2. ‘[’이면 tmp변수에 3을 곱해준다. 3. ‘)’일 때 a. 만약 stack이 비어있거나, ‘(’가 아니면 잘못된 입력이므로 종료한다. b. 이전 문자가 ‘(’ 이면 answer에 tmp를 더 해준..

    [백준] 17425 약수의 합2 (Java)

    ✉️문제 https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 📝 접근 1. 테스트 케이스가 여러개이므로 미리 배열에 값들을 저장해 놓아야 한다. // f(A)를 구하는 과정 for(int i = 1; i < SIZE; i++) { for(int j = i; j < SIZE; j = j + i) { arr[j] += i; } } // g(A) 구하기 for(int i = 1; i < SIZE..

    [백준] 17427 약수의 합 2

    ✉️문제 https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 📝 접근 10이하의 자연수 중에서 N의 배수를 몇 개인지 알아보자. (배수를 이용해서 약수를 구함) 1의 배수는 10 / 1 = 10개 2의 배수는 10 / 2 = 5개 (2, 4, 6, 8, 10) 3의 배수는 10 / 3 = 3개 (3, 6, 9) ... ... 10의 배수는 10 / 10 = 1개 g(n)의 값을 구하는 것이..

    [백준] 1037 약수 (Java)

    ✉️문제 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 📝 접근 약수의 개수가 1과 자기자신을 빼고 주어진다. 따라서 주어진 약수 중에서 가장 작은 값과 가장 큰 값을 곱하면 된다. 🗝 문제풀이 package divisor; import java.util.Arrays; import java.util.Scanner; public class B1037R { public static void main(String[] args) { Scann..