✏️기록하는 즐거움
article thumbnail
반응형

Link

 

10818번: 최소, 최대

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

www.acmicpc.net

문제

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

입력 > 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력 >첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

 

| 예제 입력

5
20 10 35 30 7

| 예제 출력

7 35

 

제출

const input = (
  process.platform === "linux"
    ? require("fs").readFileSync("/dev/stdin").toString()
    : `5
20 10 35 30 7`
).split("\n");

let count = Number(input[0]);
let numbers = input[1].split(" ").map(Number);

let min = numbers[0];
let max = numbers[0];

for (let i = 1; i < count; i++) {
  if (max < numbers[i]) {
    max = numbers[i];
  }

  if (min > numbers[i]) {
    min = numbers[i];
  }
}

console.log(`${min} ${max}`);

 

풀이과정

최대, 최솟값을 설정한 후, 입력된 정수의 개수만큼 for문을 돌려서 숫자를 비교하면 되는 문제이다.

 

- sort 메소드를 사용하여 푸는 방법

const input = (
  process.platform === "linux"
    ? require("fs").readFileSync("/dev/stdin").toString()
    : `5
    20 10 35 30 7`
).split("\n");

let count = Number(input[0]);
let numbers = input[1].split(" ").map(Number);

numbers.sort((a, b) => a - b);

console.log(`${numbers[0]} ${numbers[count - 1]}`);

 

🔼 sort로 입력값들을 오름차순으로 정렬한 후 첫 번째 값을 최솟값, 마지막 값을 최대값으로 출력한다.

 

개념

Array.sort()

  • 매개변수로 정렬 함수를 작성하고, 함수를 작성하지 않을 시에는 문자열의 유니 코드 코드 포인트에 따라 정렬된다.
 

[백준] 2480: 주사위 세개(javascript)

Link 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게

codingmyoni.tistory.com

 

Array.prototype.sort() - JavaScript | MDN

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.

developer.mozilla.org

 


Comment

sort 메소드를 사용한 답안이 시간 소요가 더 많았다.

틀린 제출은 min, max의 값을 따로 대입해주지 않고 계속 같이 넣어서 min 값이 undefined가 되어 틀렸던 ...😅

// 잘못된 코드
let min, max = 0;

// 의도했던 코드
let min = 0,
    max = 0;
...
반응형
profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!