본문 바로가기
Have Done/Algorithms

[파이썬 알고리즘] 백준 10818 풀이

by 에아오요이가야 2022. 2. 17.

10818에서 막혔습니다.

 

 

처음에 시간 초과 에러가 나온 코드를 먼저 보여드리겠습니다. 너무 간단하게 생각해서 그냥 리스트에 다 때려 박고 min, max를 출력하면 되는 줄 알았습니다.

n = int(input())
x = input()
list = []
for i in range(n):
    list.append(x.split(' ')[i])
print(min(list),max(list))

그래서 바꿔봤습니다! 조건을 걸어서 min max값을 업데이트하는것으로! 최소값과 최대값을 알려주었으니 맞춰서 업데이트 하는 형태로!!

n = int(input())
x = input()
min = 1000000
max = -1000000
for i in range(n):
    num=int(x.split(' ')[i])
    if num<min:
        min=num
    if num>max:
        max=num        

print(min,max)

근데 이것도 시간 초과라는군요!!!!!! 아마 for문 이 문제인 것 같습니다.

 

검색하여 map의 개념을 찾게 됐습니다.

 

for문자체는 문제가 안되고 for 문 안에서 원소들을 일일이 확인하느라 시간이 오래 걸렸던 것 같습니다.

 

input()
l = list(map(int, input().split()))
min = 1000000
max = -1000000
for i in range(len(l)):
    num = l[i]
    if num<min:
        min=num
    if num>max:
        max=num        

print(min,max)

시간이 엄청 오래 걸려서 잘한 건지는 모르겠지만 어쨌든 문제는 해결!!

 

 

2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818,  2438, 2439, 2440, 2441,  까지 클리어2442, 2445, 2522, 2446, 10991, 10992

댓글