백준128 백준 9375/c++ )) 패션왕 신해빈 조합을 사용하여 입을 수 있는 의상의 경우의 수를 구하는 문제이다 의상 하나를 입력 시 의상의 이름 + " " + 의상의 종류 로 입력이 되기 때문에 공백을 전 후로 입력을 두번 받는셈이다 입력은 두개지만 의상의 이름은 필요없으므로 의상의 종류만으로 경우의 수에 고려한다 그 의상을 착용하지 않은 경우도 그 의상의 종류 중 하나로 더하여 계산한다 map을 통해 의상의 종류를 key값으로, 종류별 개수를 value값으로 저장하고 종류별 착용가능 개수를 모두 곱해서 (가지고 있는 종류+1미착용) 경우의 수를 구한다 그 중 모든 종류를 미착용한 알몸상태는 제외하니 -1 을 하여 최종 경우의 수를 구한다 그것을 테스트 케이스만큼 반복하는 문제이다 주의사항 map을 대입시 auto 자료형을 사용해야 된다 종류개수에.. 2022. 6. 15. 백준 2559 수열 문제 개선답 계산방법을 구간합으로 바꾸니 연산이 줄어 시간내에 해결 가능하였다 max 를 사용해서 비교 갱신하여 ret 의 최대값을 구하였으므로, 최소값을 구하였고 여유값을 더 준점이 포인트다 #include using namespace std; int a; int n; int temp; int psum[100004];// 여유공간 4 int ret = -10000004; // max비교를 위한 최소값, 온도가 -100이고 10만번 더하니 -1000만이 최소값이다 여유를 위해 공간을 더 주자 int main(){ cin >> a >> n; for(int i=1; i> temp; psum[i]=psum[i-1]+temp; } for(int i=n; i 2022. 6. 14. 백준 2559 수열 문제 오답 분석 입력 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 위한 연속적인 날짜의 수이다. K는 1과 N 사이의 정수이다. 둘째 줄에는 매일 측정한 온도를 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -100 이상 100 이하이다. 출력 첫째 줄에는 입력되는 온도의 수열에서 연속적인 K일의 온도의 합이 최대가 되는 값을 출력한다. 제출결과 시간 초과. 실패 1차 수정 : sort 를 max_element 함수를 사용해서 시간을 개선해보려 함. 실패 2차 수정 : ios_base::sync_with_stdio(false)를 넣.. 2022. 6. 14. 백준 알고리즘 10988번 - 입출력, 입력범위, stirng 이해 부족으로 인한 런타임에러 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 1. 입출력 속도를 올려주는 위의 경우는 알고리즘 시간초과가 된다면 그 후에 추가하여 시도할 것. 굳이 미리 사용 말자 2. string 의 길이를 구할때는 length(), 벡터의 길이를 구할때는 size()를 써야 한다 3. 문제에서 입력범위가 주어지곤한다. 입력범위는 출제자가 내는 범위이니 내 코드에는 범위 내용을 적을 필요없다. 내 코드는 입력범위가 달라지더라도 항상 올바른 로직이어야 하기 때문이다. 물론 자료형의 판단에는 반영을 해야할것이다 4. string 은 정적할당 배열이 아닌 동적할당 배열이다. 즉, string 은 벡터이다. 그러므로 할당전에는 크기를 알 수 없으며, 인덱.. 2022. 6. 13. 이전 1 ··· 29 30 31 32 다음