728x90
반응형
문제 설명
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
제한사항
0 ≤ a, b ≤ 40,000
0을 제외하고 a, b는 0으로 시작하지 않습니다.
입출력 예
binomial result
"43 + 12" 55
"0 - 7777" -7777
"40000 * 40000" 1600000000
입출력 설명
입출력 예 #1
예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다.
입출력 예 #2
예제 2번의 binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다.
입출력 예 #3
예제 3번의 binomial은 "40000 * 40000"으로 이 식을 계산한 결과인 40000 × 40000 = 1600000000을 return 합니다.
내 풀이
Java
class Solution {
public int solution(String binomial) {
int answer = 0;
String[] str = binomial.split(" ");
int a = Integer.parseInt(str[0]);
int b = Integer.parseInt(str[2]);
String op = str[1];
switch(op){
case "+":
answer = a + b;
break;
case "-":
answer = a - b;
break;
case "*":
answer = a * b;
break;
}
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* binomial) {
int answer = 0;
char* ptr = strtok(binomial, " ");
int a = atoi(ptr);
ptr = strtok(NULL, " ");
char op = *ptr;
ptr = strtok(NULL, " ");
int b = atoi(ptr);
if(op == '+'){
answer = a + b;
}else if(op == '-'){
answer = a - b;
}else{
answer = a * b;
}
return answer;
}
Python
def solution(binomial):
answer = 0
str = binomial.split(" ");
a = int(str[0])
b = int(str[2])
op = str[1]
if op == '+':
answer = a + b
elif op == '-':
answer = a - b
else:
answer = a * b
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181865
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] x 사이의 개수 (0) | 2025.02.16 |
---|---|
[코딩테스트 Lv.0] 문자열 잘라서 정렬하기 (0) | 2025.02.16 |
[코딩테스트 Lv.0] 문자열 바꿔서 찾기 (0) | 2025.02.08 |
[코딩테스트 Lv.0] rny_string (0) | 2025.02.08 |
[코딩테스트 Lv.0] 세 개의 구분자 (0) | 2025.02.08 |