๋ฌธ์ ์ค๋ช
๋ฌธ์์ด s์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ์ซ์๋ค์ด ์ ์ฅ๋์ด ์์ต๋๋ค. str์ ๋ํ๋๋ ์ซ์ ์ค ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐพ์ ์ด๋ฅผ "(์ต์๊ฐ) (์ต๋๊ฐ)"ํํ์ ๋ฌธ์์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์.์๋ฅผ๋ค์ด s๊ฐ "1 2 3 4"๋ผ๋ฉด "1 4"๋ฅผ ๋ฆฌํดํ๊ณ , "-1 -2 -3 -4"๋ผ๋ฉด "-4 -1"์ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค.
์ ํ ์กฐ๊ฑด
- s์๋ ๋ ์ด์์ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
s | return |
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
๋ด ํด๋ต
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
string str_cur{};
bool b_first = true;
int i_min = 0;
int i_max = 0;
for(int i = 0; i < s.size(); ++i)
{
if(s[i] != ' ')
{
// ํ์ฌ ์ซ์๋ฅผ ์๋ฏธํ๋ ๋ฌธ์์ด์ ์ซ์๋ฅผ ๋์ ํ๋ค.
str_cur += s[i];
// ๋ง์ง๋ง ์ซ์๋ผ๋ฉด ์ดํ ์ฝ๋๋ฅผ ์คํํ๋ค.
if(i+1 != s.size())
continue;
}
// ํ์ฌ ์ซ์๋ฅผ int ํ์
์ผ๋ก ์ ํํ๋ค.
int i_cur = stoi(str_cur);
// ์ฒซ๋ฒ์งธ ์ซ์๋ผ๋ฉด min, max ์ซ์์ ๋ชจ๋ ๋ฑ๋กํด๋๋ค.
if(b_first)
{
i_min = i_cur;
i_max = i_cur;
b_first = false;
}
// ์ฒซ๋ฒ์งธ ์ซ์๊ฐ ์๋๋ผ๋ฉด min, max ์ ๋น๊ตํ์ฌ ๋ฑ๋กํ๋ค.
else
{
if(i_max < i_cur)
i_max = i_cur;
if(i_min > i_cur)
i_min = i_cur;
}
// ํ์ฌ ์ซ์ ๋ฌธ์์ด์ ์ด๊ธฐํ ํ๋ค.
str_cur.clear();
}
// ์ต์ข
min๊ณผ max๋ฅผ ์ ๋ต์ผ๋ก ๋ฐํํ๋ค.
answer = to_string(i_min) + " " + to_string(i_max);
return answer;
}
๋ฌธ์ ์ถ์ฒ : https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&page=1&levels=2&languages=cpp
์ฝ๋ฉํ ์คํธ ์ฐ์ต | ํ๋ก๊ทธ๋๋จธ์ค ์ค์ฟจ
๊ฐ๋ฐ์ ์ทจ์ ์ ํ์ ๊ด๋ฌธ ์ฝ๋ฉํ ์คํธ๋ฅผ ์ฒ ์ ํ๊ฒ ์ฐ์ตํ๊ณ ๋๋นํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ด๋ง๋ผ! ํ๋ก๊ทธ๋๋จธ์ค์์ ์ ๋ฐํ ๋ฌธ์ ๋ก ์ ํ์ ํ์ ํ๊ณ ์ค๋ ฅ์ ์ ๊ทธ๋ ์ด๋ํด ๋ณด์ธ์!
school.programmers.co.kr
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
programmers / level.2 / ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ(C++) (0) | 2023.01.11 |
---|---|
programmers / level.2 / ์ฌ๋ฐ๋ฅธ ๊ดํธ(C++) (0) | 2023.01.11 |
programmers / level.2 / ์ต์๊ฐ ๋ง๋ค๊ธฐ(C++) (0) | 2023.01.11 |
programmers / level.2 / ์ฐ์ต๋ฌธ์ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ(C++) (0) | 2023.01.08 |
[BOJ2606] ๋ฐ์ด๋ฌ์ค - C++ ํ์ด (0) | 2022.05.24 |