프로그래머스(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
'Programming > Test' 카테고리의 다른 글
[Java] 문자열 정렬하기 (1) - Programmers Q120850 (0) | 2023.04.12 |
---|---|
[Java] 컨트롤 제트 - Programmers Q120853 (0) | 2023.04.11 |
[Java] 컨트롤 제트 - Programmers Q120853 (0) | 2023.04.07 |
[Java] 한 번만 등장한 문자 - Programmers Q120896 (0) | 2023.04.06 |
[Java] 소인수분해 - Programmers Q120852 (0) | 2023.04.05 |
댓글