[JAVA] 백준 10817번 : 세 수

2020. 7. 23. 17:51·Computer Science/자료구조와 알고리즘

1. 문제

세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 

 

2. 

코드 1

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int[] num = new int[3]; 
        int temp;
        for(int i=0;i<3;i++){
            num[i]=sc.nextInt();  
        }
        for(int i=0;i<3;i++){
           for(int j = i+1;j<3;j++){
               if(num[i]>num[j]){
                   temp=num[i];
                   num[i]=num[j];
                   num[j]=temp;
               }
           }
        }
        System.out.println(num[1]);
        sc.close();
    }
}

이중반복문을 보면

바깥 반복문은 i = 0부터 2까지 안쪽 반복문은 j=i부터 2까지 돌아간다.  

3개 비교 (index 0,1,2)

i j
0 1
0 2
1 2

 

 

메모리크기가 좀 더 크고 시간은 좀 더 걸리지만 간단하게 해결하는 방법도 있다.  그 방법이 코드 2이다. 

코드 2 (Arrays.sort() 함수 이용)

import java.util.Arrays;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int[] num=new int[3];
        for(int i=0;i<3;i++){
            num[i]=sc.nextInt();
        }
        Arrays.sort(num);
        System.out.println(num[1]);
        sc.close();
    }
}

JAVA 배열 정렬 - Arrays.sort() 함수 사용

" 오름차순 " 

배열을 선언하고 배열안에 값을 넣은 뒤에

Arrays.sort(배열이름); 을 쓰면된다. 

 

3. 

Arrays.sort()함수를 이용하면 메모리와 시간은 조금 손해를 보지만, 코드길이는 확실히 준다. 

 

4. 링크

https://www.acmicpc.net/problem/10817

 

10817번: 세 수

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

www.acmicpc.net

 

저작자표시 비영리 변경금지 (새창열림)

'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글

[JAVA] 백준 2446번 : 별찍기 -9  (0) 2020.07.25
[JAVA] 2523 : 별찍기 -13  (0) 2020.07.23
[JAVA] 백준 5543번 : 상근날드  (1) 2020.07.23
[JAVA] 백준 10039번 : 평균점수  (0) 2020.07.19
[JAVA] 백준 1110번 : 더하기 사이클  (0) 2020.07.18
'Computer Science/자료구조와 알고리즘' 카테고리의 다른 글
  • [JAVA] 백준 2446번 : 별찍기 -9
  • [JAVA] 2523 : 별찍기 -13
  • [JAVA] 백준 5543번 : 상근날드
  • [JAVA] 백준 10039번 : 평균점수
BS Kwak
BS Kwak
  • BS Kwak
    Slow but steady wins the race
    BS Kwak
  • 전체
    오늘
    어제
    • 카테고리 (161)
      • Project (2)
      • Next.js (3)
      • HTML+CSS+JS (17)
      • Computer Science (139)
        • Programming Language (52)
        • 자료구조와 알고리즘 (75)
        • Digital circuit (3)
        • 기타 error (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    해시
    mysql error
    런타임 에러
    LNK2001
    c++error
    오블완
    티스토리챌린지
    leetcode
    cmd error
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
BS Kwak
[JAVA] 백준 10817번 : 세 수
상단으로

티스토리툴바