프로그래머스 문제풀이/알고리즘 (JAVA)

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (1~2번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

남건욱 2023. 12. 20. 06:12

목차

    반응형
    1. 최댓값과 최솟값

    문제

    import java.util.*;
    
    class Solution {
        public String solution(String s) {
            String answer = "";
            String[] str = s.split(" ");
            int[] numbers = new int[str.length];
            
            for(int i=0; i<str.length; i++){
                numbers[i] = Integer.parseInt(str[i]);
            }
            
            Arrays.sort(numbers);
            int max = numbers[numbers.length-1];
            int min = numbers[0];
            
            answer += String.valueOf(min);
            answer += " ";
            answer += String.valueOf(max);
            
            return answer;
        }
    }

    <작성한 코드>

    s의 숫자들을 공백을 기준으로 분리했다. 그 뒤 for문을 사용해서 numbers 배열에 str의 값들을 정수형으로 변환해서 넣어줬다. 넣어준 값들을 정렬하기 위해 Arrays.sort로 오름차순 정렬을 해줬고, max값에는 배열의 마지막값, min값에는 배열의 첫 번째 값을 넣어줬다. 그 뒤 answer에 min + " " + max값을 넣어주고 반환하였다.

     

     

     

    2. JadenCase 문자열 만들기

    문제

    class Solution {
        public String solution(String s) {
            String answer = "";
            String[] str = s.split(" ");
            
            for(int i=0; i<str.length; i++){
                if(str[i].length() == 0){
                    answer += " ";
                } else{
                    str[i] = str[i].toLowerCase();
                    str[i] = Character.toUpperCase(str[i].charAt(0)) + str[i].substring(1);;
                    answer += str[i];
                    answer += " ";
                }
            }
    
        	if(s.substring(s.length()-1, s.length()).equals(" ")){
        		return answer;
        	} else{
                return answer.substring(0, answer.length()-1);
            }
        }
    }

    <작성한 코드>

    s를 공백을 기준을 나눠줬다. 그 뒤 for문을 사용해서 str의 길이만큼 반복시켰고, str[i]의 길이가 0인 공백이 들어있는 상황에서는 answer에 공백을 추가해 줬다. 만약 아니라면 str [i] 전체를. toLowerCase()를 사용해서 소문자로 변경한 뒤 저장하고, str [i]. charAt(0)을 사용해서 str [i]의 첫 번째 문자를 대문자로 변경하고. substring(1)을 사용해서 뒤의 문자열을 이어 붙였다. 그 뒤 answer에 추가해 주고 마지막으로 공백을 추가했다. 반복문이 끝나고는 마지막 문자가 공백인지 확인했다. 공백이라면 그대로 answer을 반환하고 아니라면 공백을 제거해 주고 반환했다.

    반응형
    프로필사진

    남건욱's 공부기록