[Java] Lv1_예산, Lv2_최솟값 최댓값

Updated:

Categories:

Tags: ,

📌 개인적인 공간으로 공부를 기록하고 복습하기 위해 사용하는 블로그입니다.
정확하지 않은 정보가 있을 수 있으니 참고바랍니다 :😸
[틀린 내용은 댓글로 남겨주시면 복받으실거에요]

Lv1 - 예산

https://school.programmers.co.kr/learn/courses/30/lessons/12912

  • 소요시간 3분

문제

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        
        int min = Math.min(a,b);
        int max = Math.max(a,b);
        
        for (int i = min; i <= max; i++) {
            answer += i;
        }
        return answer;

    }
}

다른 사람 풀이

  1. import문

    1
    
     import java.util.Arrays;
    
  2. 오름차순

    1
    2
    3
    4
    
     int[]arr ={2,4,3,1,5}
     Arrays.sort(arr);
     System.out.print(arr);
     // 1, 2, 3, 4, 5
    
  3. 참조타입 정렬

    1
    2
    3
    4
    5
    
     Integer[] integerArr = new Integer[] {1,3,5,2,4};                          
     String[] stringArr = new String[] {"A","C","B","E","D"};       
             
     Arrays.sort(integerArr,Collections.reverseOrder());     //내림차순
     Arrays.sort(stringArr,Collections.reverseOrder());    //내림차순
    

    int타입의 배열을 내림차순 하고싶다면, Integer(참조타입)로 변경하면 가능하다.

  4. 부분정렬

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
      int[]arr={3,4,7,2,1,9};
     	Arrays.sort(arr,1,4);
     	//배열의 index 1부터 3까지만 정렬 (4는 포함되지 않음)
        	
       for(int a : arr) {
        System.out.print(a);
       }
     // 3,2,4,7,1,9 순으로 출력됨.
        
    



Lv2 최솟값 최댓값

https://school.programmers.co.kr/learn/courses/30/lessons/12939

문제

나의 풀이 (오답의 연속…)

  1. 문법 오류 - String.toCharArray() : 괄호를 꼭 넣어 줘야 함.

  2. char 타입에서 int타입으로 변환이 안된 듯.

  3. 생각해보면 당연한 이야기지만 ‘ - ’ 를 문자로 인식해서 발생한 오류.

  4. 제일 큰 문제는 마이너스도 문자로 인식하고 있다는 것,

    숫자 배열로 변경 후 sort로 정렬하려고 해도 - 때문에 안됨 근데 또 다시 생각해보니까 숫자 사이에는 공백이 있으니까 이걸로 배열 만들 수 있음~~!!! , 이렇게 생각하면 쉬운데 돌고 돌아서 푼 것 같다…

    유레카라 생각하고 풀었는데 왜 통과안하는지?…ㅠ

    문자열은 정렬할때 음수는 또 정렬이 안되는걸까..??

    그래서 그냥 배열을 숫자배열로 바꿔야 할듯.! 결국 또 반복문을 사용해야 한다.

👏🏻최최최종 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Arrays;
class Solution {
    public String solution(String s) {
                    
        String[] arr = s.split(" ");
        int[]numArr= new int[arr.length];
        for(int i=0; i<arr.length;i++){
           numArr[i]=Integer.parseInt(arr[i]);
        }
                     
        Arrays.sort(numArr);
        return numArr[0]+" "+numArr[arr.length-1];
    
    }
}

다른 사람들의 풀이도 보고 싶었는데 문제가 바뀐지 얼마 되지 않아 풀이가 좀 다른 것 같다

Programmers 카테고리 내 다른 글 보러가기

Leave a comment