Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 아두이노 컴파일러
- Deque
- 컴퓨터 그래픽스
- C언어
- 라인트레이서
- Algorithm
- 아두이노 소스
- priority_queue
- 시스템프로그래밍
- LineTracer
- Visual Micro
- set
- 수광 소자
- queue
- stl
- map
- 통계학
- html
- 자료구조
- Stack
- c++
- directx
- Array
- WinAPI
- list
- vector
- 운영체제
- Arduino
- 아두이노
- arduino compiler
Archives
- Today
- Total
Kim's Programming
1959. 두 개의 숫자열 본문
1959. 두 개의 숫자열
풀이 방법
길이가 더 긴 배열을 고정시키고 짧은 배열을 움직여가면서 곱을 구해 그중에 최대 값을 구한다.
<코드>
#include<iostream> using namespace std; int main(int argc, char** argv) { int test_case; int T; cin >> T; for (test_case = 1; test_case <= T; ++test_case) { int firstSize{}; int secondSize{}; std::cin >> firstSize >> secondSize; int* firstArray = new int[firstSize] {0, }; int* secondArray = new int[secondSize] {0, }; for (int i = 0; i < firstSize; i++) std::cin >> firstArray[i]; for (int i = 0; i < secondSize; i++) std::cin >> secondArray[i]; int* shortArray{ nullptr }; int* longArray{ nullptr }; int shortSize{}; int longSize{}; if (firstSize > secondSize) { shortArray = secondArray; longArray = firstArray; shortSize = secondSize; longSize = firstSize; } else { longArray = secondArray; shortArray = firstArray; shortSize = firstSize; longSize = secondSize; } int max{ 0 }; for (int i = 0; i < longSize - shortSize + 1; i++) { int sum{}; for (int j = 0; j < shortSize; j++) sum += longArray[j] * shortArray[j]; if (sum > max) max = sum; longArray++; } std::cout << "#" << test_case << " " << max << "\n"; delete[] firstArray; delete[] secondArray; } return 0;//정상종료시 반드시 0을 리턴해야합니다. }
'SW ExpertAcademy > D2' 카테고리의 다른 글
1966. 숫자를 정렬하자 (0) | 2018.12.01 |
---|---|
1961. 숫자 배열 회전 (0) | 2018.12.01 |
1954. 달팽이 숫자 (0) | 2018.12.01 |
1948. 날짜 계산기 (0) | 2018.12.01 |
1946. 간단한 압축 풀기 (0) | 2018.12.01 |