[Java] 자바 알고리즘, 백준 "세 수의 중간수 출력" 알고리즘 문제풀이
- 알고리즘 문제/[Java] 알고리즘
- 2019. 5. 1. 14:48
세 수
문제
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력
두 번째로 큰 정수를 출력한다.
테스트케이스
예제 입력 1 예제 출력 1
20 30 10 20
예제 입력 2 예제 출력 2
30 30 10 30
예제 입력 3 예제 출력 3
40 40 40 40
예제 입력 4 예제 출력 4
20 10 10 10
문제풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import java.util.Arrays; import java.util.Scanner; public class Example { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); int[] arr = new int[3]; String[] inputArr = input.split(" "); arr[0]=Integer.parseInt(inputArr[0]); arr[1]=Integer.parseInt(inputArr[1]); arr[2]=Integer.parseInt(inputArr[2]); Arrays.sort(arr); //오름차순정렬 10 20 30 어차피 가운데꺼니까 arr[1]만 가져오면됨 System.out.println(arr[1]); } } | cs |
이전에 본격적으로 학원을 다니기 전에 3학년인가 4학년시절에 이런것도 못풀던 시절에 실패한 기록이 남아있길래 뭐지하면서 지금풀어봤었는데 30초 안걸렸네요 푸는데.. 테스트까지하면 1분..? 약간 이 문제를 왜 못풀고 남겨놨을까 하는 의문이 드네요..
저는 이문제 풀면서 중요하다고 느낀것은 정렬!(자신이 직접 정렬알고리즘을 짜도 되지만 라이브러리가 잘 구현되어 있기 때문에...) 그리고 input이 고정적으로 3개가 들어온다는 것!!(여기서 배열의 길이를 고정적으로 선언 가능하다는 것을 캐치)
그리고 input의 구분자가 " "(공백) 이라는 점! (여기서 split메소드를 이용하면 되겠구나 캐치했음)
나머지는 순서대로 처리하면 될 것 같았고, 코드로 작성했더니 바로 정답이었습니다!!
'알고리즘 문제 > [Java] 알고리즘' 카테고리의 다른 글
[Java] 자바 알고리즘, 백준 2839번 "설탕 배달" (2) | 2019.05.05 |
---|---|
[Java] 자바 알고리즘, 백준 알고리즘 문제풀이 "X보다 작은 수"(10871번) (0) | 2019.05.01 |
[Java] 자바 알고리즘, 프로그래머스 알고리즘 문제풀이 "정수 내림차순으로 배치하기" (0) | 2019.04.28 |
[Java] 자바 알고리즘, 프로그래머스 알고리즘 문제풀이 "정수 제곱근 판별" (0) | 2019.04.27 |
[Java] 자바 알고리즘, 프로그래머스 알고리즘 문제풀이 "하샤드 수" (0) | 2019.04.27 |