[c++] 15565번: 귀여운 라이언
·
알고리즘/백준
https://www.acmicpc.net/problem/15565 15565번: 귀여운 라이언 꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의 www.acmicpc.net 문제 요약 라이언 인형과 어피치 인형 N개 일렬로 놓여있다. 라이언 인형은 1, 어피치 인형은 2. 라이언 인행 K개 이상있는 가장 작은 연속된 인형들의 집합 크기 구하기 (집합없으면 -1 출력) 범위 1 ≤ K ≤ N ≤ 10^6 L의 범위는 1부터 N, R의 범위는 0부터 N이다. (k=1일수있기 때문에 L의 시작 위치가 N이어도 괜찮다) 만약 R 위치의 원소가 1이라면 라이언 인형이므로..
[c++] 2559번: 수열
·
알고리즘/백준
https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제 요약 연속적인 며칠 동안의 온도합이 가장 큰 값 구하기 범위 N은 2 이상 100,000 이하 K는 1과 N 사이의 정수 온도 -100 이상 100 이하 연속 날짜에 포함되는 범위 내에서 해당 날짜들의 합을 계산하고 maxT(온도의 최댓값)을 업데이트해주면 된다. 여기서 L(연속 날짜의 첫번째 날짜)의 범위를 제대로 설정해줘야 하는데 입력된 모든 날짜의 온도를 첫번째 날짜로 설정..
[c++] 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 문제 요약 A[1]~A[N] 수열에서 i~j번째 수(부분 수열)의 합이 M이 되는 경우의 수를 구하라. 범위 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000), A[x] ≤ 30,000 (자연수) 부분수열의 범위를 정해서 합을 계산하면 되는데 부분수열의 합의 범위는 L ~ R 로 정했는데 L의 범위는 1~N, R의 범위는 0~N으로..
[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..
녕이
녕이개발-LOG