[c++] 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 이상이 되는 것 중 가장 짧은 것의 길이 구하라. 범위 N (10 ≤ N < 100,000) S (0 < S ≤ 100,000,000) 원소 (10,000이하의 자연수) 우선, 범위를 확인해보자. N의 최댓값은 약 100,000 이고 S는 1,00,000,000 이다. S 이상의 부..
[c++] 5800번: 성적 통계
·
알고리즘/백준
https://www.acmicpc.net/problem/5800 5800번: 성적 통계 첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다 www.acmicpc.net 문제 요약 각 반의 학생들의 수학 시험 성적의 최대 점수, 최소 점수, 점수 차이를 구하는 프로그램을 작성해라. //5800번: 성적 통계 #include #include using namespace std; int k, n, x[101], LG; void solution(int index){ LG = -1; cout
[c++] 1755번: 숫자놀이
·
알고리즘/백준
https://www.acmicpc.net/problem/1755 1755번: 숫자놀이 79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로 www.acmicpc.net 벡터를 사용해서 문제를 풀었다. 범위 내의 수를 문자열로 바꾸고(to_string(i)) 각 자릿수를 돌면서 맞는 문자열을 추가해주고 pair로 을 쌍으로 벡터에 넣었다. 바뀐 문자열을 기준으로 정렬하고 10개씩 출력해줬다. //1755번: 숫자놀이 #include #include #include #include using namespace s..
[c++] 5635번: 생일
·
알고리즘/백준
https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 요약 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하라. //1015번: 수열 정렬 #include #include using namespace std; typedef struct Student{ string name; int dd, mm, yy; }Student; bool compare(const Student s1, const Student s2){ if(s1.yy == s2.yy){ if(s1.mm == s2.mm) return s1...
[c++] 1940번: 주몽
·
알고리즘/백준
https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 문제 요약 갑옷 재료에는 고유 번호가 있다. 두 재료의 고유 번호를 합쳐 M이 되면 갑옷이 만들어진다. N개의 재료와 M이 주어졌을 때 몇 개의 갑옷을 만들 수 있을까? 범위 재료의 개수 N (1 ≤ N ≤ 15,000) 갑옷을 만드는데 필요한 수 M (1 ≤ M ≤ 10,000,000) 고유 번호 (≤ 100,000) 이 문제는 입력받은 배열(재료의 고유번호)을 정렬해서..
[c++] 17266번: 어두운 굴다리
·
알고리즘/백준
https://www.acmicpc.net/problem/17266 17266번: 어두운 굴다리 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙 www.acmicpc.net 문제 요약 굴다리 N개, 설치할 가로등 M개, 각 가로등의 위치 X 가로등의 최소한의 높이로 굴다리 N개를 모두 밝히고자 한다. (모든 가로등은 높이가 동일하다) 가로등의 높이가 H라면 왼쪽으로 H, 오른쪽으로 H만큼 주위를 비춘다. 가로등의 최소 높이는? 범위 굴다리의 길이 N (1 ≤ N ≤ 100,000) 가로등의 개수 M (1 ≤ M ≤ N) 설치할 가로등의 위치 x (0 ≤ x ≤ N, 정수..
[c++] 13702번: 이상한 술집
·
알고리즘/백준
https://www.acmicpc.net/problem/13702 13702번: 이상한 술집 프로그래밍 대회 전날, 은상과 친구들은 이상한 술집에 모였다. 이 술집에서 막걸리를 시키면 주전자의 용량은 똑같았으나 안에 들어 있는 막걸리 용량은 랜덤이다. 즉 한 번 주문에 막걸리 용 www.acmicpc.net 문제 요약 주전자 용량은 동일하나 막걸리 용량은 랜덤. 막걸리 N 주전자를 주문하고, 친구들 K명에게 막걸리를 동일한 양으로 나눠준다. (주전자 속 남은 막걸리는 그냥 버린다.) 최대한 범위 - 막걸리 주전자 개수 N (> m; for(int i=0; i> x[i]; } } bool calc(ll ML){ if(ML == 0) return false; //0으로 나눌 수 없기 때문에 미리 없애기 l..
[c++] 6236번: 용돈 관리
·
알고리즘/백준
https://www.acmicpc.net/problem/6236 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 문제 요약 N일 동안 사용한 금액을 M번만 통장에서 돈을 인출. K원을 인출하는데 M번을 맞추기 위해 남은 금액이 그날 사용할 금액보다 많아도 남은 금액은 통장에 집어넣고 다시 K원을 인출. 돈을 아끼기 위해 인출 금액 K를 최소화. 최소 금액 K는? 범위 금액을 사용할 기간 N (1 ≤ N ≤ 100,000) 통장에서 금액을 인출할 횟수 M (1 ≤ M ≤ N) 이용할 금액 (1 ≤ 금액 ≤ 1000..
[c++] 2343번: 기타 레슨
·
알고리즘/백준
≤https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 문제 요약 - 블루레이에는 총 N개의 강의가 들어간다. (강의 순서가 바뀌면 안됨) → i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다. - M개의 블루레이에 모든 강의 동영상 녹화 → 블루레이의 크기(녹화 가능한 길이) 최소 → 블루레이는 모두 동일한 크기 = 가능한 블루레이의 크기 중 최소를 구하라. 범위 1 ≤ N ≤ 100,000, ..
녕이
'BOJ' 태그의 글 목록 (28 Page)