일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codingtest
- 소스트리
- gradle
- java
- 시큐리티
- springSecurity
- 코딩테스트
- programmers
- security
- 시큐리티 로그아웃
- 싱글톤
- 리눅스
- 반복문
- 목록
- 시큐리티 로그인
- StyleSheet
- JAVA11
- sql
- 로그인
- Spring boot
- springboot
- 2차원배열
- javascript
- input태그
- Linux
- html
- 시큐리티로그인
- 스프링 부트
- css
- 프로그래머스
Archives
- Today
- Total
JAVAIARY
프로그래머스 ) 최댓값과 최솟값 본문
문제: https://school.programmers.co.kr/learn/courses/30/lessons/12939
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
static String solution(String s) {
String answer = "";
String[] nums = s.split("\\s");
//int로 변환해 arrayList 에 담음
ArrayList<Integer> intarr = new ArrayList<Integer>();
for(String num: nums ) {
intarr.add(Integer.parseInt(num));
}
//최댓값, 최솟값 구하기
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
//1. 최댓값 최솟값 비교로 풀기
for(int intnum : intarr) {
if (intnum > max) {
max = intnum;
}
if (intnum < min) {
min = intnum;
}
}
//2. 정렬로 풀기
Integer[] arr = intarr.toArray(new Integer[intarr.size()]);
for(int i = 0; i < intarr.size(); i++) {
for(int j = i+1; j < intarr.size(); j++) {
// arr[i] 값이 arr[i+1]의 값보다 크면 [i]와 [i+1]값 스왑
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
min= arr[0];
max = arr[arr.length-1];
answer = min +" "+max;
return answer;
}
- 처음 생각한대로 최댓값 최솟값을 각각 구하기
- 버블정렬을 이용하여 풀기
두 가지 방법으로 풀어봤는데 버블정렬이 정확하기는 하지만 확실히 처리 시간이 오래 걸린다.
'examplePractice' 카테고리의 다른 글
프로그래머스 ) 분수의 덧셈 (0) | 2023.02.22 |
---|---|
프로그래머스 ) 다음에 올 숫자 (0) | 2023.02.19 |
프로그래머스) lv.1 약수의 개수와 덧셈 (0) | 2023.01.30 |
프로그래머스) lv.2 올바른 괄호 (0) | 2023.01.23 |
함수 (0) | 2022.12.15 |