본문 바로가기
코딩테스트/LV. 0

LV. 0 :: 문자열 계산하기

by KUROMI98 2023. 1. 24.

https://school.programmers.co.kr/learn/courses/30/lessons/120902#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(my_string) 
{
    var plussum = 0;
    var minussum = 0;
    
    var arr = my_string.split(' ');
    
    for (i=my_string.length-1; i>=0; i--)
    {
        if (arr[i]=="+")
        {   // 덧셈기호가 있다면 덧셈기호 뒤의 것들을 다 더해준다
            plussum += Number(arr[i+1]); 
            // 덧셈 뒤에 붙은 것들의 합 (arr[0] 을 제외함)
        }
        
        else if (arr[i]=="-")
        {   // 뺄셈기호가 있다면 뺄셈기호 뒤의 것들을 다 더해준다
            minussum += Number(arr[i+1]); 
            // 뺄셈 뒤에 붙은 것들의 합
        }
    }
    
    // 근데 배열의 첫 번째 원소는 앞에 +기호가 붙어 있지 않았으니까 추가로 더해줘야 한다.
    // 정답은 덧셈 뒤의 것들의 총합 - 뺄셈 뒤의 것들의 총합 + 첫번째 원소
    return plussum-minussum+Number(arr[0]);
}

+230515

const solution = (my_string) => {
    const arr = my_string.split(' ');
    let plussum = Number(arr[0]);
    let minussum = 0;
    for(i=1; i<arr.length; i+=2) {
        if (arr[i] == "+") { plussum += Number(arr[i+1]) }
        else {minussum += Number(arr[i+1])}
    }
    return plussum-minussum;
}

230528 python

def solution(my_string): 
    arr = my_string.split(' ')
    plus = int(arr[0])
    minus = 0
    for i in range(0, len(arr)):
        if arr[i] == '+': plus += int(arr[i+1])
        if arr[i] == '-': minus += int(arr[i+1])   
    return plus-minus

'코딩테스트 > LV. 0' 카테고리의 다른 글

LV. 0 :: 컨트롤 제트  (0) 2023.01.24
LV. 0 :: OX퀴즈  (0) 2023.01.24
LV. 0 :: 잘라서 배열로 저장하기  (0) 2023.01.23
LV. 0 :: 가까운 수  (0) 2023.01.23
LV. 0 :: A로 B 만들기  (0) 2023.01.23

댓글