Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 티스토리사진
- 비주얼스튜디오 코드 글꼴
- 백준
- 어도비플래시서비스종료
- 자바스크립트 defer
- 비주얼스튜디오 코드 폰트
- 스팀 사용 금액
- 도선생님 신경론
- 롤에 돈얼마나썼지
- 앤드류 테이트
- 가운뎃점 입력
- 신경론
- 스팀에 돈 얼마나 썼지
- c++
- 게임 네트워킹
- 자바메모
- 스팀 돈얼마나 썼는지보기
- 티스토리전체글수
- 한글 가운뎃점
- 티스토리 코드블록
- 도파 신경론
- 롤 현질금액보기
- Class1
- 명언
- 쿠르츠 게작트
- 언리얼
- 티스토리사진한줄에 여러개
- 어도비플래시삭제
- 티스토리 전체글수표시
- 롤 현질얼마나 했는지보기
Archives
- Today
- Total
Small Step
[C++] 종만북 1장 - FESTIVAL 본문
https://algospot.com/judge/problem/read/FESTIVAL
algospot.com :: FESTIVAL
록 페스티벌 문제 정보 문제 커다란 공연장을 빌려서 록 페스티벌을 개최하려고 합니다. 이 페스티벌은 여러 날 동안 진행되며, 하루에 한 팀의 밴드가 공연장에서 콘서트를 하게 됩니다. 전체
algospot.com
종만북의 첫 문제이다.
먼저 테스트 케이스가 주어진 후, 록 페스티벌을 하게 되는데 빌릴 수 있는 공연장의 가격과 수가 주어지고 최소 공연 날짜가 주어진다.
얘를 들어 6과 3이 주어지면 6일간 대여할 때 각각의 가격을 알려주고 최소한 3일을 빌려야 한다는 것이다.
이렇게 최소 공연수 이상으로 평균 대여 가격이 낮게 빌리면 된다.
#include <iostream>
using namespace std;
int main() {
cout << fixed;
cout.precision(9);
int TestCase;
cin >> TestCase;
for (int i = 0; i < TestCase; i++) {
int n, l;
cin >> n >> l;
double sum = 0;
int cnt = 0;
double avg;
double min = 101;
int cost[1001] = { 0, };
for (int i = 0; i < n; i++) cin >> cost[i];
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
sum += cost[j];
cnt++;
if (cnt >= l) {
avg = sum / cnt;
if (avg < min) min = avg;
}
}
sum = 0;
cnt = 0;
}
cout << min << "\n";
}
}
주어진 각각의 항을 모두 계산하도록 코드를 짰다.
주어진 평균 가격을 배열에 담고 최소 공연수보다 크거나 같을 때 평균을 담는 식으로 짰다.
반복문을 이용해 모든 평균 조합을 찾아내 최소 평균을 찾는다.
cout << fixed;
cout.precision(9);
소수점을 9개까지 출력하는 코드이다.
개인적으로 매우 어려웠다. 백준 브론즈에게는 너무 어려웠던 문제였다.
처음에는 첫 번째 배열에서 1부터 끝까지 조합을 찾는 식으로 했는데 안돼서 헤매었더니
1 2 3 1 2 3 이 있다면 앞에서부터 고르는 줄 알고 코드를 짰지만
2 3 1 이런 식으로도 고를 수 있는 문제였다.
종만북 1장이 이 정도라니 앞길이 막막하다.
Comments