본문 바로가기
Programming/Test

[Java] 문자열 계산하기 - Programmers Q120902

by 돌방로그 2023. 4. 10.

프로그래머스(Programmers)를 통해 코딩 테스트 사전 연습한 사항입니다.


요약

  • 출처: 프로그래머스(Programmers)
  • 번호: 120902

 

코드

public class Java_120902 {
    public int solution(String my_string) {
        String [] strl = my_string.split(" ");
        int answer = Integer.parseInt(strl[0]);

        for(int i = 1; i < strl.length - 1; i+=2) {
            if(strl[i].equals("+")) {
                answer += Integer.parseInt(strl[i+1]);
            }
            else if(strl[i].equals("-")) {
                answer -= Integer.parseInt(strl[i+1]);
            }
        }

        return answer;
    }
}

 

풀이

입력받은 문자열은 스페이스(띄어쓰기)로 각 원소를 구분할 수 있습니다.

원소들 중 연산 기호가 인덱스가 홀수인 경우에 배치되는 특성을 이용하여 반복문을 돌려 원하는 결과값을 획득합니다.

 

이 문제에서 참고할만한 사항은 String에 대한 compare 방식입니다.

String에 대한 비교를 "=="로 하지 않고 "equals" 메소드를 이용하여 진행하였는데, "=="을 이용하여 진행하는 경우 값 비교가 아닌 주소 비교로 인해 로직이 정상적으로 동작하지 않습니다.

String 비교에 대한 "=="과 "equals"의 차이는 별도의 포스팅으로 다룰 예정입니다. 

 

출처

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

 

저장소

https://github.com/Ardium/TIL/blob/master/CodingTest/Java/src/programmers/level0/Java_120902.java

 

 


 

댓글