[Java] Lv1_예산, Lv2_최솟값 최댓값
Categories: Programmers
Tags: CodingTest, 실습
📌 개인적인 공간으로 공부를 기록하고 복습하기 위해 사용하는 블로그입니다.
정확하지 않은 정보가 있을 수 있으니 참고바랍니다 :😸
[틀린 내용은 댓글로 남겨주시면 복받으실거에요]
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;
}
}
다른 사람 풀이
-
import문
1
import java.util.Arrays;
-
오름차순
1 2 3 4
int[]arr ={2,4,3,1,5} Arrays.sort(arr); System.out.print(arr); // 1, 2, 3, 4, 5
-
참조타입 정렬
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(참조타입)로 변경하면 가능하다.
-
부분정렬
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
문제
나의 풀이 (오답의 연속…)
-
문법 오류 - String.toCharArray() : 괄호를 꼭 넣어 줘야 함.
-
char 타입에서 int타입으로 변환이 안된 듯.
-
생각해보면 당연한 이야기지만 ‘ - ’ 를 문자로 인식해서 발생한 오류.
-
제일 큰 문제는 마이너스도 문자로 인식하고 있다는 것,
숫자 배열로 변경 후 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];
}
}
다른 사람들의 풀이도 보고 싶었는데 문제가 바뀐지 얼마 되지 않아 풀이가 좀 다른 것 같다
Leave a comment