프로그래머스 최댓값과 최솟값 c++ 풀이
문제 정리
- 문자열 s에는 공백으로 구분된 숫자가 있다.
- str에 나타나는 숫자중 최대, 최소 값을 찾아 "(최소값) (최댓값)" 형태로 반환해라
- 문자열에는 둘 이상의 정수가 공백으로 구분되어 있다.
문제 풀이
- 문자를 공백을 기준으로 나눈다.
- 나눠진 수를 차례대로 하나씩 숫자로 변환해본다.
- min, max와 비교해서 업데이트 해준다.
- 최종 min, max 값을 string으로 변환하여 정답을 완성한다.
c++ 문자열 split
sstream 헤더에 있는 istringstream 을 이용해서 나눌 수 있다.
- istringstream ss(split할 문자열)을 선언한다
- 자를 문자를 담을 string buffer를 선언한다(string sb;)
- getline을 이용해서 split 한다.
getline(ss, sb, 자를 기준 문자)
공백기준 getline(ss, sb, ' ');
'/'기준 getlin(ss, sb, '/');
c++ 숫자 - 문자
1.1 숫자를 문자로 (c style)
#include <stdlib.h> // #include <cstdlib>
#include <string>
string s = "1";
int a = atoi(s.c_str()); // c style의 문자열(char *)로 변환 후 atoi 함수 사용
1.2 숫자를 문자로 (c++ style)
#include <string>
string s = "1";
int a = stoi(s);
프로그래머스 level2 최댓값과 최솟값 c++ 코드