#3 최댓값과 최솟값
문제: https://programmers.co.kr/learn/courses/30/lessons/12939
1. 문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다.
2. 나의 코드
import java.util.*; class Solution { public String solution(String s) { String answer = ""; String [] sp = s.split(" "); int temp =0; int max = Integer.parseInt(sp[0]);; int min = Integer.parseInt(sp[0]);; for(int i =0 ; i < sp.length; i++) { temp = Integer.parseInt(sp[i]); if(max < temp) max = temp; } for(int i =0 ; i < sp.length; i++) { temp = Integer.parseInt(sp[i]); if(min > temp) min = temp; } answer += (String.valueOf(min)+" "); answer += String.valueOf(max); return answer; } }
3. 다른 사람 코드
public class GetMinMaxString { public String getMinMaxString(String str) { String[] tmp = str.split(" "); int min, max, n; min = max = Integer.parseInt(tmp[0]); for (int i = 1; i < tmp.length; i++) { n = Integer.parseInt(tmp[i]); if(min > n) min = n; if(max < n) max = n; } return min + " " + max; }
4. 보완
min = max = something // 이렇게 연속 할당이 가능하다.
String.valueOf() 메소드를 이용하지 않고, int+"" 만 해줘도 문자열 변환이 가능하다.
결국, answer += String.valueOf(min)+" ";
answer += String,valueOF(max);
==>
answer += min+" "+max;
이렇게 한줄로도 정리할 수 있다.
'Computer Science > 알고리즘 문제풀이' 카테고리의 다른 글
[Programmers] #6 모의고사[JAVA] (0) | 2018.09.20 |
---|---|
[알고리즘 문제 풀이]#5 완주하지 못한 선수 [JAVA] (1) | 2018.09.20 |
[알고리즘 문제풀이] #4 탑[JAVA] (0) | 2018.09.19 |
[알고리즘 문제풀이] #2 숫자의 표현 [JAVA] (0) | 2018.09.18 |
[알고리즘 문제풀이] #1 K번째수[Python3] (0) | 2018.09.17 |