반응형
내 코드 (틀림)
import java.util.*;
class Solution {
public int solution(String my_string) {
ArrayList<String> list = new ArrayList<>(Arrays.asList(my_string.replaceAll(" ", "").split("")));
int answer = list.get(0);
for(int i=1 ; i < list.size() ; i++) {
if(list.get(i).equals("+")) {
answer += Integer.parseInt(list.get(i+1));
}
else {
answer -= Integer.parseInt(list.get(i+1));
}
}
return answer;
}
}
ArrayList로 받고 해보려고 했는데..
엥 8.9만 패스함...
힌트를 보니까 두 자리수 이상의 자연수에 대응하는 코드를 작성하지 않아서 그렇다고 함....😵
수정한 코드 (맞음)
class Solution {
public int solution(String my_string) {
String[] strArr = my_string.split(" ");
int answer = Integer.parseInt(strArr[0]);
for(int i=1 ; i < strArr.length ; i+=2) {
if(strArr[i].equals("+")) {
answer += Integer.parseInt(strArr[i+1]);
}
else {
answer -= Integer.parseInt(strArr[i+1]);
}
}
return answer;
}
}
반복문에서 i의 증가값을 i += 2
로 해야 했음..
어차피 +,-는 1,3,5,7, ···인덱스에만 들어가있을 테니까...!
다른 정답 코드
import java.util.Arrays;
class Solution {
public int solution(String my_string) {
String[] ans = my_string.trim().split(" ");
int answer = Integer.parseInt(ans[0]);
for(int i = 1; i < ans.length-1; i++){
if(ans[i].equals("+")){
answer += Integer.parseInt(ans[i+1]);
}else if(ans[i].equals("-")){
answer -= Integer.parseInt(ans[i+1]);
}
}
return answer;
}
}
여기는 반복문 범위를 ans.length - 1
까지 해줬네...
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
(참고... 집사님 항상 감사합니다..)
[프로그래머스] 문자열 계산하기 자바(JAVA)
츄르사려고 코딩하는 코집사입니다. 1. [프로그래머스] 문자열 계산하기 자바(JAVA) 1) 문제 제목 : 문자열 계산하기 2) 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/120902 프로그래머스 코
yongku.tistory.com
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 0] 한 번만 등장한 문자 (0) | 2023.02.09 |
---|---|
[프로그래머스/Lv. 0] 최댓값 만들기 (2) (0) | 2023.02.09 |
[프로그래머스/Lv. 0] 잘라서 배열로 저장하기 (0) | 2023.02.08 |
[프로그래머스/Lv. 0] 치킨 쿠폰 (0) | 2023.02.08 |
[프로그래머스/Lv. 0] 인덱스 바꾸기 (0) | 2023.02.08 |