glowing713
Frontend-Deep-Dive
glowing713
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (97)
    • Languages (11)
      • JavaScript πŸ’› (3)
      • Python 🐍 (4)
      • Java β˜•οΈ (3)
      • Swift 🧑 (1)
    • Computer_Science (1)
      • Computer_Network πŸ•Έ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring πŸ€ (1)
    • AI (2)
      • NLP πŸ—£ (1)
      • AI_Math βž— (1)
    • κ°œλ°œν™˜κ²½ κΎΈλ―ΈκΈ° ✌ (1)
    • 생각정리 ✍🏻 (1)

λΈ”λ‘œκ·Έ 메뉴

  • πŸ§‘πŸ»β€πŸ’»Github

곡지사항

인기 κΈ€

νƒœκ·Έ

  • 이뢄탐색
  • Algorithm
  • binary search
  • 완전탐색
  • Stack
  • Python
  • 2019 카카였 개발자 겨울 인턴십
  • mst
  • c++
  • boostcampaitech
  • bfs
  • ps
  • Baekjoon
  • brute-force
  • Java
  • BOJ
  • DP
  • λ™μ κ³„νšλ²•
  • 카카였 기좜
  • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
glowing713

Frontend-Deep-Dive

[BOJ] λ°±μ€€ 1935 ν›„μœ„ ν‘œκΈ°μ‹2 / μŠ€νƒ(Stack)
Problem_Solving

[BOJ] λ°±μ€€ 1935 ν›„μœ„ ν‘œκΈ°μ‹2 / μŠ€νƒ(Stack)

2020. 7. 27. 20:57


 

 

πŸ’£ λ¬Έμ œ 이해

 

 

ν›„μœ„ ν‘œκΈ°μ‹κ³Ό 각 ν”Όμ—°μ‚°μžμ— λŒ€μ‘ν•˜λŠ” 값듀이 μ£Όμ–΄μ§ˆ λ•Œ, κ·Έ 식을 κ³„μ‚°ν•˜λŠ” λ¬Έμ œμ΄λ‹€.

 

μŠ€νƒ(Stack)을 ν™œμš©ν•˜μ—¬ ν’€μ΄ν–ˆλ‹€.

 

 

πŸ’­ 풀이 κ³Όμ •

 

 

μž‘μ„± μ–Έμ–΄: C++

 

#include <iostream>
#include <stack>
using namespace std;

int main() {
    string operation = "";
    int numCnt = 0;
    int alphabet[30] = {0, };
    stack<double> oper_Stack;
    
    // μž…λ ₯의 μˆ˜μ™€ ν›„μœ„ ν‘œκΈ°μ‹ μž…λ ₯λ°›κΈ°
    cin >> numCnt >> operation;
    
    // ν”Όμ—°μ‚°μžμ— λŒ€μ‘ν•˜λŠ” κ°’ μž…λ ₯λ°›κΈ°
    for (int i = 0; i < numCnt; ++i) {
        cin >> alphabet[i];
    }
    
    for (int i = 0; i < operation.length(); ++i) {
        double num1 = 0.0, num2 = 0.0, result = 0.0;
        
        // μ—°μ‚°μžμΈ 경우 μŠ€νƒ top의 두 λΉ„μ—°μ‚°μžλ₯Ό κΊΌλ‚΄μ„œ μ—°μ‚° ν›„ λ‹€μ‹œ push, ν”Όμ—°μ‚°μžμΈ 경우 μŠ€νƒμ— λ°”λ‘œ push
        if (operation[i] == '+' || operation[i] == '-' || operation[i] == '*' || operation[i] == '/') {
            /* μ—°μ‚°μž */
            num2 = oper_Stack.top();
            oper_Stack.pop();
            num1 = oper_Stack.top();
            oper_Stack.pop();
            
            switch (operation[i]) {
                case '+':
                    result = num1 + num2;
                    break;
                case '-':
                    result = num1 - num2;
                    break;
                case '*':
                    result = num1 * num2;
                    break;
                case '/':
                    result = num1 / num2;
                    break;
            }
            
            oper_Stack.push(result);
        }else {
            /* ν”Όμ—°μ‚°μž */
            oper_Stack.push(alphabet[operation[i]-'A']);
        }
    }
    
    // μ†Œμˆ˜μ  λ‘˜μ§Έ μžλ¦¬κΉŒμ§€ 좜λ ₯
    cout << fixed;
    cout.precision(2);
    cout << oper_Stack.top() << endl;
    
    return 0;
}

 

 

πŸ€” ν”Όμ—°μ‚°μžμ˜ 경우 μŠ€νƒμ— push ν•œλ‹€.

 

πŸ€” μ—°μ‚°μžλ₯Ό λ§Œλ‚˜λŠ” 경우, μŠ€νƒ μƒλ‹¨μ˜ 두 ν”Όμ—°μ‚°μžλ₯Ό 뢈러였고 κ³„μ‚°ν•œ κ²°κ³Ό κ°’μœΌλ‘œ λŒ€μ²΄ν•œλ‹€.

 

πŸ€” λͺ¨λ“  연산을 μ²˜λ¦¬ν•œ ν›„, μŠ€νƒμ— λ‚¨μ•„μžˆλŠ” λ§ˆμ§€λ§‰ 값이 계산 κ²°κ³Όκ°€ λœλ‹€.

 

 

 

πŸ† 배운 점

 

 

이전에 ν’€μ—ˆλ˜ [ν›„μœ„ ν‘œκΈ°μ‹] λ¬Έμ œλŠ” μŠ€νƒμ„ ν™œμš©ν•˜μ—¬ ν›„μœ„ ν‘œκΈ°μ‹μ„ λ§Œλ“œλŠ” κ²ƒμ΄μ—ˆλ‹€λ©΄

μ΄λ²ˆμ— ν‘Ό [ν›„μœ„ ν‘œκΈ°μ‹2] λ¬Έμ œλŠ” μŠ€νƒμ„ ν™œμš©ν•˜μ—¬ ν›„μœ„ ν‘œκΈ°μ‹ μ—°μ‚°μ„ μ²˜λ¦¬ν•˜λŠ” 과정을 κ΅¬ν˜„ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€.

λ‹€λ₯Έ ν’€μ΄λ‘œλ„ 풀어보며 μ™œ μŠ€νƒμ„ ν™œμš©ν•˜λŠ” 것이 μ΅œμ μΈμ§€ κ³ λ―Όν•΄λ³΄κ²Œ λ˜μ—ˆκ³ ,

μŠ€νƒμ„ ν™œμš©ν•œ λ¬Έμ œν’€μ΄μ˜ νŠΉμ§•μ„ μ’€ 더 체감할 수 있게 λ˜μ—ˆλ‹€.

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'Problem_Solving' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[2018 KAKAO BLIND RECRUITMENT] 비밀지도  (0) 2020.08.28
[2020 카카였 인턴십 for Tech developers] ν‚€νŒ¨λ“œ λˆ„λ₯΄κΈ°  (0) 2020.08.27
[BOJ] λ°±μ€€ 1918 ν›„μœ„ ν‘œκΈ°μ‹ / μŠ€νƒ(Stack)  (0) 2020.07.18
[BOJ] λ°±μ€€ 10828 μŠ€νƒ / μŠ€νƒ(Stack)  (0) 2020.07.17
[2019 카카였 개발자 겨울 인턴십] λΆˆλŸ‰ μ‚¬μš©μž  (0) 2020.05.01
    'Problem_Solving' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [2018 KAKAO BLIND RECRUITMENT] 비밀지도
    • [2020 카카였 인턴십 for Tech developers] ν‚€νŒ¨λ“œ λˆ„λ₯΄κΈ°
    • [BOJ] λ°±μ€€ 1918 ν›„μœ„ ν‘œκΈ°μ‹ / μŠ€νƒ(Stack)
    • [BOJ] λ°±μ€€ 10828 μŠ€νƒ / μŠ€νƒ(Stack)
    glowing713
    glowing713

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”