Social Developer
Home
  • 분류 전체보기 (121)
    • Life (3)
    • Idea note (0)
    • Algorithms (84)
    • CS (16)
      • Data Structure (7)
      • Network (9)
    • Skill (13)
      • Spring (0)
      • Java (9)
      • Infra (3)
      • Etc. (1)
Home
  • 분류 전체보기 (121)
    • Life (3)
    • Idea note (0)
    • Algorithms (84)
    • CS (16)
      • Data Structure (7)
      • Network (9)
    • Skill (13)
      • Spring (0)
      • Java (9)
      • Infra (3)
      • Etc. (1)
블로그 내 검색

Social Developer

어제보다 한 걸음 더

  • Algorithms

    [백준 알고리즘] (I/O) 10818 Java 풀이

    2020. 3. 5.

    by. SDev

    728x90

    입출력 - 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992

    출처: https://plzrun.tistory.com/entry/알고리즘-문제풀이PS-시작하기 [plzrun's algorithm]

     

    문제

    N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

    입력

    첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

    출력

    첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

     

    change Nxxxx -> Main && remove package lines!!!

    이클립스에서 작성하면서 문제 이름으로 클래스를 생성하여 풀었기 때문에

    클래스 이름을 Main으로 바꾸고, package 부분도 지우고 제출해야 정상적으로 돌아갑니다.

     

    <풀이>

    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
    package io;
     
    import java.util.Scanner;
     
    public class N10818 {
     
        public static void main(String[] args) {
     
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int[] arr = new int[n];
            int min = Integer.MAX_VALUE;
            int max = Integer.MIN_VALUE;
            
            int temp = 0;
            
            for(int i=0; i<n; i++) {
                arr[i] = sc.nextInt();
                temp = arr[i];
                if(temp < min) {
                    min = temp;
                }
                if(temp > max) {
                    max = temp;
                }
            }
            System.out.println(min + " " + max);
        }
     
    }
     
     
     

    12, 13 Line에서 min에 최댓값, max에 최솟값은 일부러 넣어주었다.

    그렇지 않으면 뒤에서 temp와 비교하는 과정에서 값이 temp값으로 대체되지 않는다.

     

    이 코드에서 temp라는 변수를 꼭 선언하지 않아도 되지만, 메모리를 더 쓰더라도 가독성이 좋게 쓰고 싶었다.

     

    * 다른 분들 풀이를 보니 버퍼를 사용해서 String으로 받은 뒤 Int로 형변환하는 과정으로 푸시는 분들이 꽤 많았는데

    개인적으로 그런 방식이 아직 익숙하지 않아서 반복문을 통한 비교로 풀었다. 다른분들 풀이 보면서 연습해야지..ㅎㅎ

     

     

    Github: https://github.com/jaeuk9407/AlgorithmBOJ

     

    jaeuk9407/AlgorithmBOJ

    BaekJoon Online Judge Problems. Contribute to jaeuk9407/AlgorithmBOJ development by creating an account on GitHub.

    github.com

     

    저작자표시 (새창열림)

    'Algorithms' 카테고리의 다른 글

    [백준 알고리즘] (I/O) 2439번 Java 풀이  (0) 2020.03.06
    [백준 알고리즘] (I/O) 2438번 Java 풀이  (0) 2020.03.05
    [백준 알고리즘] (I/O) 8393번 Java 풀이  (0) 2020.03.05
    [백준 알고리즘] (I/O) 1924번 Java 풀이  (0) 2020.03.05
    [백준 알고리즘] (I/O) 2739번 Java 풀이  (0) 2020.03.05

    댓글

    관련글

    • [백준 알고리즘] (I/O) 2439번 Java 풀이 2020.03.06
    • [백준 알고리즘] (I/O) 2438번 Java 풀이 2020.03.05
    • [백준 알고리즘] (I/O) 8393번 Java 풀이 2020.03.05
    • [백준 알고리즘] (I/O) 1924번 Java 풀이 2020.03.05
    맨 위로
전체 글 보기
  • 인정님 블로그
  • 성현님 블로그
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
SDev

티스토리툴바