본문 바로가기

알고리즘 풀이/백준43

[BOJ] 1912. 연속합 - JAVA 🔗 문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 다이나믹 프로그래밍 요약 : 연속된 구간의 합의 최댓값 풀이 DP 를 풀 때 나는 N 개의 숫자가 주어졌을 때 N 번째의 해당하는 답을 구하기 위해서 첫번째만 숫자가 주어졌을 때, 다음 두 번째 숫자가 주어졌을 때, 세번째 숫자가 주어졌을 때의 답을 차례대로 유추한다. 예제를 보면 [10, -4, 3, 1, 5, 6, -35, 12, 21, -1] 가 주어졌다. 10.. 2023. 3. 13.
[BOJ] 6549. 히스토그램에서 가장 큰 사각형 (세그먼트 트리) 🔗 문제 https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 분할정복, 세그먼트 트리 히스토그램에서 가장 큰 사각형의 넓이를 찾아 출력하는 문제 (히스토그램: 직사각형 여러 개가 아래쪽에 정렬되어 있는 도형) 풀이 이 문제는 풀 수 있는 방법이 여러 가지가 있다. 1. 분할 정복 2. 분할 정복 + 세그먼트 트리 3. 스택 나는 1번으로 풀다가 시간 초과가 나.. 2023. 3. 6.
[BOJ] 11444. 피보나치 수 6 - JAVA 🔗 문제 https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 분할정복을 이용한 거듭제곱 Fn = Fn-1 + Fn-2 인 피보나치 수 중 N 번째 값을 구하는 문제 풀이 자세한 설명은 아래로! https://st-lab.tistory.com/252 [백준] 11444번 : 피보나치 수 6 - JAVA [자바] https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나.. 2023. 3. 3.
[BOJ] 11401. 이항 계수 3 - JAVA (페르마의 소정리) 🔗 문제 https://www.acmicpc.net/problem/11401 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 수학, 정수론, 조합론, 분할 정복을 이용한 거듭제곱, 모듈로 곱셉 역원, 페르마의 소정리 nCr 를 1,000,000,007 로 나눈 값 풀이 나는 간략하게 핵심만 정리할 거라 이해가 안된다거나 더 자세한 설명을 원한다면 https://st-lab.tistory.com/241 [백준] 11401번 : 이항 계수 3 - JAVA [자바] www.acmicpc.net/problem.. 2023. 2. 28.
[BOJ] 1629. 곱셈 - JAVA 🔗 문제 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 분할정복을 이용한 거듭제곱 A 를 B 번 곱한 값을 M 으로 나눈 값을 출력하라. 풀이 이곳에서 설명을 아주 잘 해놨다. https://st-lab.tistory.com/237 [백준] 1629번 : 곱셈 - JAVA [자바] www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수.. 2023. 2. 28.
[BOJ] 2615. 오목 - JAVA 🔗 문제 https://www.acmicpc.net/problem/2615 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 💻 풀이 및 코드 문제 유형 : 구현, 브루트 포스 바둑돌이 연속으로 5개 놓인 바둑돌의 색과 위치를 출력하는 문제 풀이 완탐이므로 모든 위치에서 차례대로 바둑돌이 5개가 연속으로 놓이는지 체크한다. 왼쪽에서 오른쪽으로, 위에서 아래로 순서로 탐색을 진행하기 때문에 { 오른쪽, 오른쪽 아래 대각선, 아래, 왼쪽 아래 대각선 } 방향 총 4방향만 탐색하면 된다. (다른 방향들은 이미 위에서.. 2023. 2. 28.