의외로 빨리 해결해서 문제 풀이를 올려본다.
public class Calc {
public static int run(String exp) {
exp = exp.replace("- ", "+ -");
String[] bits = exp.split(" \\+ ");
int a = 0;
String b;
for (int i = 0; i < bits.length; i++) {
b = bits[i];
a = Integer.parseInt(b);
a++;
}
return a;
// throw new RuntimeException("해석불가 : 올바른 식이 필요해.");
}
} //오답, a를 인트로 변환해서 더해지는 줄 알았는데 결과 값이 식의 마지막 수만 저장하는 것을 알게됨.
public class CalcTests {
@Test
@DisplayName("1 + 1 == 2")
void t1() {
assertThat(Calc.run("1 + 1")).isEqualTo(2);
}
@Test
@DisplayName("2 + 1 == 2")
void t2() {
assertThat(Calc.run("2 + 1")).isEqualTo(3);
}
@Test
@DisplayName("2 + 2 == 2")
void t3() {
assertThat(Calc.run("2 + 2")).isEqualTo(4);
}
@Test
@DisplayName("50 - 30 == 20")
void t4() {
assertThat(Calc.run("50 - 30")).isEqualTo(20);
}
@Test
@DisplayName("100 - 30 == 70")
void t5() {
assertThat(Calc.run("100 - 30")).isEqualTo(70);
}
@Test
@DisplayName("10 + 20 + 30 == 60")
void t6() {
assertThat(Calc.run("10 + 20 + 30")).isEqualTo(60);
}
@Test
@DisplayName("10 - 20 + 30 == 20")
void t7() {
assertThat(Calc.run("10 - 20 + 30")).isEqualTo(20);
}
@Test
@DisplayName("10 - 10 - 10 - 10 + 10 + 10 - 10 == -10")
void t8() {
assertThat(Calc.run("10 - 10 - 10 - 10 + 10 + 10 - 10")).isEqualTo(-10);
}
}//테스트 케이스
이게 내가 통과해야할 테스트케이스.
public class Calc {
public static int run(String exp) {
exp = exp.replace("- ", "+ -");
String[] bits = exp.split(" \\+ "); //이까지는 수업시간에 도저히 풀지 못하던 구간이였다.
int rs = 0; //합을 저장할 변수 선언.
for (String bit : bits) { //bits 배열을 순회
rs += Integer.parseInt(bit); // 순회하면서 값들을 int로 전환 시키며 더함.
}
return rs; // 리턴값 rs.
// throw new RuntimeException("해석불가 : 올바른 식이 필요해.");
}
}
배웠던 데이터 순회 반복문을 활용했음.(향상된 for문)
결과를 구한 방법은 주석으로 달아놨다.
오늘 밤새고 수업 들으러 왔는데 용케 안졸고 블로그 포스팅까지 무사히 마쳤다..
계속 공부하면서 기초가 아직 부족하다는 것과 내 영타가 생각보다 많이 느리다는 것을 통감하고 기초부터 조금 더 다지기로 결심했다. 자바 입문 반복과 영타 연습을 일단 주로 할 생각이다. 블로그 포스팅도 꾸준히!!
'Coding History' 카테고리의 다른 글
2024. 06. 25 문제풀이 (0) | 2024.06.25 |
---|---|
국비 지원 IT(웹앱개발) 취업반 강의 14일차(다항식 계산기 만들기 과정) (0) | 2024.06.25 |
국비 지원 IT(웹앱개발) 취업반 강의 13일차 (0) | 2024.06.24 |
국비 지원 IT(웹앱개발) 취업반 강의 12일차 (0) | 2024.06.21 |
국비 지원 IT(웹앱개발) 취업반 강의 11일차 (0) | 2024.06.20 |