[프로그래머스] 최댓값과 최솟값

이찬혁·2024년 4월 4일

알고리즘

목록 보기
33/72

프로그래머스 Lv2 - 최댓값과 최솟값 문제

레벨 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);
    }
}
profile
나의 개발로그

0개의 댓글