BOJ 1009 분산처리
2023-05-25
1 min
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
해당 문제는 N개의 정수 중 최솟값과 최댓값을 구하는 단순 구현 문제이다.
최솟값과 최댓값을 저장하기 위한 변수를 생성하고 N개의 정수를 순회하며 최솟값과 최댓값을 업데이트하는 방식으로 로직을 구현하면 해당 문제를 쉽게 해결할 수 있다.
import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int min = 1000000, max = -1000000; // 최솟값과 최댓값 초기화 int N = Integer.parseInt(br.readLine()); // 정수의 개수 입력 String[] s = br.readLine().split(" "); // N개의 정수 입력 for(int i = 0; i < N; i++) { int num = Integer.parseInt(s[i]); min = (num < min) ? num : min; // 최솟값 판별 max = (num < max) ? max : num; // 최댓값 판별 } System.out.println(min +" " +max); } }
#include <iostream> #define fastio ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr) #define endl '\n' using namespace std; int main() { fastio; int min = 1000000, max = -1000000; // 최솟값과 최댓값 초기화 int N; cin >> N; // 정수의 개수 입력 int num; for(int i = 0; i < N; i++) { cin >> num; // 정수 입력 min = (num < min) ? num : min; // 최솟값 판별 max = (num < max) ? max : num; // 최댓값 판별 } cout << min << " " << max << endl; return 0; }
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) { // 최솟값과 최댓값 초기화 var min = 1000000 var max = -1000000 var N = readLine().toInt() // 정수의 개수 입력 var s = readLine().split(" ") for(i in 0 until N) { var num = s[i].toInt() // 정수 입력 if(num < min) { // 최솟값 판별 min = num } if(num > max) { // 최댓값 판별 max = num } } println(min.toString() +" " +max.toString()) }
from sys import stdin def main(): # 최솟값과 최댓값 초기화 min = 1000000 max = -1000000 # 정수의 개수 입력 N = int(stdin.readline()) s = stdin.readline().split(' ') for i in range(0, N): num = int(s[i]) if num < min: min = num if num > max: max = num print(str(min) +" " +str(max)) if __name__ == "__main__": main()
import Foundation func main() { // 최솟값과 최댓값 초기화 var min = 1000000 var max = -1000000 var N = Int(readLine()!)! // 정수의 개수 입력 var s = readLine()!.split(separator: " ") for i in 0..<N { var num = Int(s[i])! // 정수 입력 if(num < min) { // 최솟값 판별 min = num } if(num > max) { // 최댓값 판별 max = num } } print(min, max) } main()