레벨 2 문제이지만 난이도는 엄청 낮다고 생각한다.
카테고리도 연습 문제로 분류되어 있기도 하고, 5분만에 풀이하였다..
문제 제한 조건도 크게 크리티컬 하지 않아서 생각나는대로 풀이 했지만 조금 더 생각을 해보고 풀이 했다면 현재 로직보다 더 깔끔하고 효율적인 로직으로 구성했을 수 있을 것 같다.
MaxValueMinValue.java
package com.example.Programmers.Lv2;
/**
* 프로그래머스 Lv2 - 최댓값과 최솟값
*/
public class MaxValueMinValue {
public String solution(String s) {
String answer = "";
String[] arr = s.split(" ");
int min = 0;
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
min = Integer.parseInt(arr[i]);
max = Integer.parseInt(arr[i]);
continue;
}
if (Integer.parseInt(arr[i]) < min) {
min = Integer.parseInt(arr[i]);
}
if (Integer.parseInt(arr[i]) > max) {
max = Integer.parseInt(arr[i]);
}
}
answer = min + " " + max;
return answer;
}
}
MaxValueMinValueTest.java
package com.example.Programmers.Lv2;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class MaxValueMinValueTest {
@Test
public void testMaxValueMinValue() {
MaxValueMinValue mm = new MaxValueMinValue();
String result1 = mm.solution("1 2 3 4");
String result2 = mm.solution("-1 -2 -3 -4");
String result3 = mm.solution("-1 -1");
assertEquals("1 4", result1);
assertEquals("-4 -1", result2);
assertEquals("-1 -1", result3);
}
}