programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ (c++)

2023. 1. 6. 18:12ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

๋ฌธ์ œ ์„ค๋ช…

๋ฌธ์ž์—ด 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
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • programmers / level.2 / ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ(C++)
  • programmers / level.2 / ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ(C++)
  • programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ(C++)
  • [BOJ2606] ๋ฐ”์ด๋Ÿฌ์Šค - C++ ํ’€์ด
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (141)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (135)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (6)
        • ์˜ค๋‹ต๋…ธํŠธ (2)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Beankong_
programmers / level.2 / ์—ฐ์Šต๋ฌธ์ œ : ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ (c++)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”