BAEKJOON(62)
-
[Baekjoon] 1806번: 부분합
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 설명 10,000 이하 자연수로 이루어진 길이 N의 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중 가장 짧은 것의 길이를 구하는 프로그램을 작성해야 한다. 만약 합이 없다면 0을 출력한다. 풀이 방법 - 투 포인터 이 문제는 투 포인터를 활용하여 해결할 수 있다. 예제 입력을 가지고 과정을 살펴보자. N = 수열의 길이이다. S = 비..
2023.03.28 -
[Baekjoon] 6198번: 옥상 정원 꾸미기
https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 문제 설명 빌딩 관리인들은 다른 빌딩의 옥상을 벤치마크하고 싶어 한다. 그래서 자기 빌딩보다 낮은 빌딩들의 옥상 정원을 보며 본인 소유의 빌딩 옥상 정원에 대한 고민을 한다. 모든 빌딩은 일렬로 서 있고 오른쪽으로만 볼 수 있다. 그리고 본인 소유 빌딩과 높이가 같거나 큰 경우엔 옥상을 볼 수 없다. 1번 관리인은 2, 3, 4 번 빌딩의 옥상을 볼 수 있다. 2번 관리인은 다른 빌딩의 옥..
2023.03.27 -
[Baekjoon] 2559번: 수열
https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제 설명 정수 배열이 주어졌을 때, 연속적인 합이 가장 큰 값을 출력해야 한다. 연속되는 범위가 2인 경우는 다음과 같다. 이 경우 최댓값은 21이 된다. 연속되는 범위가 5인 경우는 다음과 같다. 이 경우 최댓값은 31이 된다. 풀이 방법 포인터 변수를 활용하여 해결할 수 있다. 범위가 5인 경우를 예로 들면 과정은 다음과 같다. MAX: 최댓값을 저장해놓기 위한 변수이다. sum..
2023.03.26 -
[Baekjoon] 11728번: 배열 합치기
https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 문제 설명 정렬된 두 배열이 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하면 된다. 풀이 방법 투 포인터 기초 문제이다. 예제 입력 3을 그림을 통해 보자. 이해를 돕기 위해 A 배열에 10을 추가했다. A: 첫 번째로 주어진 배열이다. B: 두 번째로 주어진 배열이다. ans: 출력할 정답을 저장해놓는 배열이다. 첫째 줄에 입력받은 N과 ..
2023.03.26 -
[Baekjoon] 2003번: 수들의 합 2
https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 문제 설명 N개의 수로 된 수열이 주어진다. 이 수열의 i번째 수부터 j번째 수까지의 합이 M이 되는 경우의 수를 구하는 프로그램을 작성해야 한다. 예제 2로 설명하면 다음과 같다. 인덱스가 0인 1부터 시작해보자. i = 0 1부터 순서대로 더해나간다. 그러다 1 + 2 + 3 = 6이므로 이 경우는 안 된다. i = 1 2부터 순서대로 더해나간다. 그러..
2023.03.24 -
[Baekjoon] 2023번: 신기한 소수
https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 문제 설명 7331과 같이 7331도 소수, 733도 소수, 73도 소수, 7도 소수인 수를 신기한 소수라고 한다. 자릿수가 주어졌을 때 해당 자릿수의 신기한 소수를 모두 찾아내 오름차순으로 출력하는 프로그램을 작성하면 된다. 자릿수 N은 1 이상, 8 이하이다. 풀이 방법 1. 나의 풀이 - 통과 코드로 보는 편이 빨라 코드와 주석으로 설명하겠다. import java.io.*; cl..
2023.03.23