Python/[코드트리]
[코드트리] Min/Max > n개의 숫자 중 최소
hyunnn_00
2023. 7. 2. 14:33
N개의 정수가 입력으로 주어졌을 때, 그 중 최솟값과 최솟값을 갖는 원소의 개수를 출력하는 코드를 작성해보세요.
# 해설 1 --------------------------------------------------
# 변수 선언 및 입력
n = int(input())
arr = list(map(int, input().split()))
# 초기값을 적습니다. 최소가 될 첫 번째 후보입니다.
min_val = arr[0]
cnt = 1 # Case 1
# 나머지 원소들을 보며 답을 갱신합니다.
for i in range(1, n):
# Case 1
if min_val > arr[i]: # 지금까지 나왔던 값들 보다 더 작은 값이라면
min_val = arr[i] # 최초의 최솟값이 되므로 그 값을 갱신하고
cnt = 1 # Count를 1로 초기화합니다.
# Case 2
elif min_val == arr[i]: # 지금까지의 최소와 같다면
cnt += 1 # Count를 1 증가시켜줍니다.
# 출력
print(min_val, cnt)
# 해설 2 --------------------------------------------------
# 변수 선언 및 입력
n = int(input())
arr = list(map(int, input().split()))
# 초기값을 적습니다. 최소가 될 첫 번째 후보입니다.
min_val = arr[0]
# 최솟값의 개수를 저장할 변수입니다.
cnt = 0
# 나머지 원소들을 보며 최솟값을 갱신합니다.
for i in range(1, n):
if min_val > arr[i]: # 지금까지 나왔던 값들 보다 더 작은 값이라면
min_val = arr[i] # 최솟값이 되므로 그 값을 갱신합니다.
# min과 일치하는 원소의 개수를 셉니다.
for i in range(n):
if arr[i] == min_val:
cnt += 1
# 출력
print(min_val, cnt)
# 나의 풀이 --------------------------------------
n = int(input())
arr = list(map(int, input().split()))
import sys
min_val = sys.maxsize
for i in range(n):
if arr[i] <= min_val:
min_val = arr[i]
cnt = arr.count(min_val)
print(min_val, cnt, end = " ")