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 = " ")