티스토리 뷰
it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 - 인프런 | 강의
강의 저작권으로 인해 문제를 공개하지 않았으며, 답안 코드 혹은 성공한 코드가 작성된 게시글입니다.
23. 연속 부분 증가수열
2023년 2월 10일
#include <iostream>
#include <vector>
using namespace std;
int Check(vector<int> numbers)
{
int count = 0;
int maxCount = 0;
int prevNum = 0;
int length = numbers.size();
for (int i = 0; i < length; i++)
{
if (numbers[i] >= prevNum)
{
count++;
if (count > maxCount)
maxCount = count;
}
else
count = 1;
prevNum = numbers[i];
}
return maxCount;
}
int main()
{
int N = 0;
cin >> N;
vector<int> numbers;
for (int i = 0; i < N; i++)
{
int temp = 0;
cin >> temp;
numbers.push_back(temp);
}
cout << Check(numbers);
return 0;
}
23. Jolly Jumpers
2023년 2월 10일
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
string CheckNumbers(vector<int> numbers)
{
int length = numbers.size();
vector<int> check(length, 0);
for (int i = 1; i < length; i++)
{
int dif = abs(numbers[i] - numbers[i - 1]);
if (dif > 0 && dif < length && check[dif] == 0)
check[dif]++;
else
return "NO";
}
return "YES";
}
int main()
{
int N = 0;
cin >> N;
vector<int> numbers;
for (int i = 0; i < N; i++)
{
int temp = 0;
cin >> temp;
numbers.push_back(temp);
}
cout << CheckNumbers(numbers);
return 0;
}
절대값으로 만드는 이유는 음수가 나올 수 있기 때문에 **abs(int value)**를 사용하여 절대값으로 만들어준다. 그리고 for문을 돌 때 범위를 잘 정하도록 한다. 앞 뒤 인덱스의 차를 냈을 때 0보다 커야하고 마지막 수보다 작아야 한다.
'😈 알고리즘 > 🍃 인프런 #1' 카테고리의 다른 글
🙏 27, 28, 29번 문제 (0) | 2023.02.20 |
---|---|
🙏 25, 26번 문제 (0) | 2023.02.19 |
🙏 21, 22번 문제 (0) | 2023.02.17 |
🙏 16, 17, 18, 19, 20번 문제 (0) | 2023.02.16 |
🙏 11, 12번 문제 (0) | 2023.02.15 |
댓글