문제
#include <string>
#include <vector>
using namespace std;
//1번째 문제
string solution(string s)
{
int min = 2147483647;
int max = -2147483647;
std::string Temp = "";
int indexOffset_Start = 0;
int indexOffset_End = 0;
std::vector<int> DataList;
int Size = s.size();
for (int i = 0; i < Size; i++)
{
if (s[i] == ' ')
{
//공백을 만났을떄
indexOffset_End = i;
Temp = s.substr(indexOffset_Start, indexOffset_End - indexOffset_Start);
DataList.push_back(std::stoi(Temp));
indexOffset_Start = i + 1;
}
else if (i == Size - 1)
{
//끝지점을 만났을때
Temp = s.substr(indexOffset_Start, Size - indexOffset_Start);
DataList.push_back(std::stoi(Temp));
}
}
for (int i = 0; i < DataList.size(); i++)
{
if (DataList[i] <= min)
{
min = DataList[i];
}
if (DataList[i] >= max)
{
max = DataList[i];
}
}
string answer = std::to_string(min) + ' ' + std::to_string(max);
return answer;
}
1) 들어온 String형을 공백 기준으로 자른 후 형 변환 후 Vector에 넣음
2) min,max검사후 출력
문제를 푸는것은 오래 걸리지 않았지만
테스트 빌드에서 한 개가 통과가 되지 않았는데
그 이유는 int min,max범위 지정이었다
문제에서 범위를 지정해 주지 않고 정수형 이라고만 되어있어
프로젝트 때 하던 습관대로 넉넉하게 시작 범위를 min = 1000 , max -1000으로 잡아놨는데
이 부분에서 통과하지 못함 그래서 정수의 최대 크기인 2,147,483,647로 지정 후 통과
'코딩 테스트 문제' 카테고리의 다른 글
점프와 순간이동 (0) | 2022.10.31 |
---|---|
멀리뛰기 (0) | 2022.10.31 |
예상 대진표 (0) | 2022.10.26 |
피보나치 수 (0) | 2022.10.25 |
구명보트 (0) | 2022.10.24 |
영어 단어 끝말잇기(Set) (0) | 2022.10.24 |
짝지어 제거하기(Stack) (0) | 2022.10.24 |
코딩 테스트 연습 (2) (0) | 2022.05.13 |