BAEKJOON 문제 풀이 : 10818번 최소, 최대
BAEKJOON2020. 2. 13. 15:44
문제 : https://www.acmicpc.net/problem/10818
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
주어진 숫자들 중 최대값 및 최소값을 구하는 문제입니다.
값들을 배열에 담고 간단한 반복문과 조건문을 이용해 풀었습니다.
이 문제를 풀면서 파이썬으로 for 문을 한 줄로 쓰는 방법을 배웠어요.
파이썬의 매력은 숏코딩이라고 하는데, 공부해봐야겠습니다.
문제 풀이는 아래와 같습니다.
1. Java
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
32
33
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int cntLoop = Integer.parseInt(br.readLine());
String[] strNums = br.readLine().split(" ", -1);
int[] nums = new int[strNums.length];
for (int i = 0; i < nums.length; i++) {
nums[i] = Integer.parseInt(strNums[i]);
}
int max = nums[0];
int min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
else if (nums[i] < min) {
min = nums[i];
}
}
bw.write(min + " " + max + "\n");
bw.close();
br.close();
}
}
|
cs |
2. Python 3
1
2
3
4
5
6
7
8
9
10
11
12
|
import sys
if __name__ == '__main__':
cntLoop = int(sys.stdin.readline())
nums = [int(num) for num in sys.stdin.readline().split(' ', -1)]
numMax = numMin = nums[0]
for i in range(1, cntLoop):
if nums[i] > numMax:
numMax = nums[i]
elif nums[i] < numMin:
numMin = nums[i]
print(str(numMin) + ' ' + str(numMax))
|
cs |
'BAEKJOON' 카테고리의 다른 글
BAEKJOON 문제 풀이 : 3052번 나머지 (0) | 2020.02.20 |
---|---|
BAEKJOON 문제 풀이 : 2562번 최댓값 (0) | 2020.02.17 |
BAEKJOON 문제 풀이 : 1110번 더하기 사이클 (0) | 2020.02.09 |
BAEKJOON 문제 풀이 : 10871번 X보다 작은 수 (0) | 2020.02.06 |
BAEKJOON 문제 풀이 : 2439번 별 찍기 - 2 (0) | 2020.02.03 |