๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 1918๋ฒˆ - ํ›„์œ„ ํ‘œ๊ธฐ์‹

by ์•ˆ์ฃผํ˜• 2022. 6. 3.

๋ฌธ์ œ

 

1918๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹

์ฒซ์งธ ์ค„์— ์ค‘์œ„ ํ‘œ๊ธฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ ์ด ์ˆ˜์‹์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ ์ˆ˜์‹์—์„œ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  -A+B์™€ ๊ฐ™์ด -๊ฐ€ ๊ฐ€์žฅ ์•ž์— ์˜ค๊ฑฐ๋‚˜ AB์™€ ๊ฐ™์ด *๊ฐ€ ์ƒ๋žต๋˜๋Š” ๋“ฑ์˜

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
#include <stack>

using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    string s, ans; cin>>s;
    stack<char>st;
    for(char c: s){
        if(c=='(') st.push(c);
        else if(c==')'){
            while(st.top()!='('){
                cout<<st.top();
                st.pop();
            }
            st.pop();
        }
        else if(c =='*'|| c =='/' || c =='+' || c=='-'){
            if(c=='*'|| c=='/'){
                while(!st.empty() && (st.top()=='*' || st.top() == '/')){
                    cout<<st.top();
                    st.pop();
                }
                st.push(c);
            }
            else{
                while(!st.empty() && st.top()!='('){
                    cout<<st.top();
                    st.pop();
                }
                st.push(c);
            }
        }
        else cout<<c;
        
    }
    while(!st.empty()){
        if(st.top()!='(') cout<<st.top();
        st.pop();
    }
}

 

ํ’€์ด

 

1935๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹2

์ฒซ์งธ ์ค„์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐœ์ˆ˜(1 ≤ N ≤ 26) ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ํ›„์œ„ ํ‘œ๊ธฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค. (์—ฌ๊ธฐ์„œ ํ”ผ์—ฐ์‚ฐ์ž๋Š” A~Z์˜ ์˜๋Œ€๋ฌธ์ž์ด๋ฉฐ, A๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ N๊ฐœ์˜ ์˜๋Œ€๋ฌธ์ž๋งŒ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ธธ์ด

www.acmicpc.net

์œ„ ํ›„๊ธฐ ํ‘œ๊ธฐ์‹2๊ฐ€ ํ›„์œ„ ํ‘œ๊ธฐ์‹์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค๋ฉด ์ด ๋ฌธ์ œ๋Š” ์ค‘์œ„ ํ‘œ๊ธฐ์‹์„ ํ›„์œ„ ํ‘œ๊ธฐ์‹์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์œ„ ๋ฌธ์ œ์˜ ํ’€์ด ์•„์ด๋””์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๊ด„ํ˜ธ ํ˜น์€ ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹Œ ์•ŒํŒŒ๋ฒณ์ผ ๊ฒฝ์šฐ ๋ฐ”๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
  2. ์—ฌ๋Š” ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ ์Šคํƒ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  3. ๋‹ซ๋Š” ๊ด„ํ˜ธ์ผ ๊ฒฝ์šฐ ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ์Šคํƒ์— ์žˆ๋Š” ๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ์ „๋ถ€ ์ถœ๋ ฅํ•œ๋‹ค.
  4. ์—ฐ์‚ฐ์ž์ผ ๋•Œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ * ํ˜น์€ / ์ธ ๊ฒฝ์šฐ ์Šคํƒ์— ๋˜ ๋‹ค๋ฅธ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์—ฐ์‚ฐ์ž์ธ * ํ˜น์€ / ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ์Šคํƒ์— ์žˆ๋Š” ๊ฐ’์„ ์ „๋ถ€ ์ถœ๋ ฅํ•œ๋‹ค.
  5. ์—ฐ์‚ฐ์ž์ผ ๋•Œ ์ƒ๋Œ€์ ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ + ํ˜น์€ - ์ผ ๊ฒฝ์šฐ ์Šคํƒ์˜ ๊ฐ’์ด ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ ๋•Œ๊นŒ์ง€ ์ „๋ถ€ ์ถœ๋ ฅํ•œ๋‹ค.
  6. ๋งˆ์ง€๋ง‰์œผ๋กœ ์Šคํƒ์— ๋‚จ์•„์žˆ๋Š” ๊ฐ’๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํƒ์˜ ๊ฐ’์„ ์ „๋ถ€ ์ถœ๋ ฅํ•œ๋‹ค.

ํ•œ๋ฒˆ (A + B * C ) - D / E ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ์œผ๋กœ๋Š” ABC*+DE/- ๊ฐ€ ๋‚˜์™€์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋Œ“๊ธ€