일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 정렬
- 파이썬
- nft
- 백준
- 함수
- Javascript
- 솔리디티
- 실행 컨텍스트
- 프로퍼티
- 자바스크립트
- Execution context
- 블록체인
- 클로저
- Deep Dive
- Interview
- frontend
- Python
- solidity
- 변수
- blockchain
- react
- let
- BOJ
- 알고리즘
- 리액트
- var
- Algorithm
- git pull
- Queue
- 딥다이브
Archives
- Today
- Total
공부하자
[BOJ/Python] 10818. 최소, 최대 본문
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
<입력>
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
<출력>
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
<예제 입력>
5
20 10 35 30 7
<예제 출력>
7 35
<나의 코드>
# 1 <400ms>
N = int(input())
data = list(map(int, input().split()))
print(min(data), max(data), end=' ')
# 2. <556ms>
N = int(input())
data = list(map(int, input().split()))
max_d = min_d = data[0]
for i in range(1, N):
if data[i] > max_d:
max_d = data[i]
elif data[i] < min_d:
min_d = data[i]
print(min_d, max_d, end=' ')
# 3. <704ms>
N = int(input())
data = list(map(int, input().split()))
data.sort()
print(data[0], data[-1], end=' ')
<REVIEW>
이 문제는 쉬운 문제지만 여러 방법이 떠올라서 모두 시도해 보았다. 속도 차이가 궁금했기 때문이다. 예전에는 막연히 코드가 짧으면 계산 속도가 더 빠르지 않을까 싶었는데 그것도 아니란 것도 알게 되었고, 사실 속도가 엄청 큰 차이가 나지 않지만 계산 속도에 영향을 미치는게 무엇일까 생각도 해보았다. 짧은 지식으로 여전히 알 수는 없지만 차근 차근 공부하다 보면 언젠가 알 수 있을거라 생각해 더 열심히 공부해야 겠다는 생각이 들었다.
< 출처>
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ/Python] 1152. 단어의 개수 (0) | 2021.12.12 |
---|---|
[BOJ/Python] 1157. 단어공부 (0) | 2021.12.12 |
[BOJ/Python] 2562. 최댓값 (0) | 2021.10.25 |
[BOJ/Python] 8979. 올림픽 (0) | 2021.09.14 |
[BOJ/Python] 2804. 크로스워드 만들기 (0) | 2021.09.14 |
Comments