[프로그래머스 / Lv.0] 문자열 계산하기 (C#)

2023. 2. 18. 05:21·프로그래머스(Programmers)/C# 풀이

| 문제 설명 ❓

my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해 주세요.


| 제한 사항 ❌

  • 연산자는 +, -만 존재합니다.
  • 문자열의 시작과 끝에는 공백이 없습니다.
  • 0으로 시작하는 숫자는 주어지지 않습니다.
  • 잘못된 수식은 주어지지 않습니다.
  • 5 ≤ my_string의 길이 ≤ 100
  • my_string을 계산한 결괏값은 1 이상 100,000 이하입니다.
    • my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다.
    • 계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다.
    • my_string에는 연산자가 적어도 하나 포함되어 있습니다.
  • return type 은 정수형입니다.
  • my_string의 숫자와 연산자는 공백 하나로 구분되어 있습니다.

| 입출력 예 💬

my_string result
"3 + 4" 7

| 입출력 예 설명 💬

입출력 예 #1

  • 3 + 4 = 7을 return 합니다.

| 풀이 🔥

⚠️ 한 번씩 읽어주세요 ⚠️

제 개인의 풀이 방법이며 틀린 풀이 방법 일수도, 더 나은 풀이법이 존재할 수도 있습니다!

전체 코드는 깃헙 링크 혹은 하단 접은 글을 펼쳐 확인가능하며, 복붙이 아닌 참고용 코드입니다

 

 

이전에 풀이했던 Lv.0 OX퀴즈 와 유사한 문제인 거 같습니다. 여러 방법이 있겠지만 저는 OX퀴즈 문제와 같이 공백을 기준으로 문자열을 Split 하여 풀이를 해보았습니다.

 

차이점은 OX 퀴즈처럼 A + B = C의 형식이 정해져 있는 것이 아닌 A + B + C +...  =?? 의 형식으로 문자열이 주어지기 때문에 이에 맞는 코드 작성이 필요합니다.

 

 

[깃헙 / Github]

😻 댓글과 공감 한 번씩 감사드립니다 😻


| 전체 코드 🔎

더보기
using System;

public class Solution {
    public int solution(string my_string) {
        int answer = 0;
        
        // 공백을 기준으로 문자열을 나눈다
        string[] splitStr = my_string.Split(' ');

        // 더해지는 변수에 splitStr 0번째 값을 대입
        answer = int.Parse(splitStr[0]);
        
        // splitStr 길이만큼 반복
        for(int i = 0 ; i < splitStr.Length; i++)
        {
            // 현재 splitStr의 i번째가 +일때 혹은 -일때 체크
            if (splitStr[i] == "+")
            {
                // 현재 더해진 값에 i+1번째 값을 더한다
                answer += int.Parse(splitStr[i + 1]);
            }
            else if(splitStr[i] == "-")
            {
                // 현재 더해진 값에 i+1번째 값을 뺀다
                answer -= int.Parse(splitStr[i + 1]);
            }
        }
        
        return answer;
    }
}
저작자표시 비영리 (새창열림)
'프로그래머스(Programmers)/C# 풀이' 카테고리의 다른 글
  • [프로그래머스 / Lv.0] 편지 (C#)
  • [프로그래머스 / Lv.0] 가장 큰 수 찾기 (C#)
  • [프로그래머스 / Lv.0] 배열의 유사도 (C#)
  • [프로그래머스 / Lv.0] 숫자 찾기 (C#)
프로포폴
프로포폴
Unity 클라이언트 개발자가 운영 하는 개발 블로그 입니다
  • 프로포폴
    약파는개발자
    프로포폴
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • 유니티 (21)
        • 공부 (0)
        • 튜토리얼 (0)
        • 에셋 (3)
        • 문제 해결 (2)
        • 작업 (16)
      • 언리얼(Unreal) (1)
        • 문제 해결 (1)
      • 백준 (20)
        • 브론즈5 (Bronze V) (20)
      • 프로그래머스(Programmers) (23)
        • C# 풀이 (23)
      • C# (0)
        • 팁 (Tip) (0)
      • 컴퓨터 과학(CS) (2)
        • 알고리즘 (1)
        • 자료구조 (1)
  • 블로그 메뉴

    • 홈
    • 글쓰기
    • 태그
    • 유니티
    • 알고리즘
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    탐색(Search)
    C++
    c#
    백준
    SHA
    Unity
    CS
    Bronze V
    컴퓨터과학
    projecta
    브론즈5
    프로그래머스_C#
    프로그래머스_Lv.0
    baekjoon
    프로그래머스
    작업
    유니티
    알고리즘
    픽셀리마인드
    개발일지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
프로포폴
[프로그래머스 / Lv.0] 문자열 계산하기 (C#)
상단으로

티스토리툴바