프로그래밍/알고리즘 문풀 반성시간
백준 10818, 2562, 3052
못난명서
2023. 1. 14. 01:46
안녕하세요?
오늘은 백준 알고리즘 10818번, 2562번, 3052번 문제풀이 반성시간을 갖도록하겠습니다.
* 오늘의 반성 요약 : 내장함수 min,max / 숫자 입력받고 바로 리스트에 때려박기 / 공집합 만들기
10818번
1. 문제
2. 내풀이
x = int(input())
x_list = list(map(int, input().split()))
least = x_list[0]
most = x_list[0]
for i in range(len(x_list)-1) :
if most <= x_list[i+1] :
most = x_list[i+1]
for i in range(len(x_list)-1) :
if least >= x_list[i+1] :
least = x_list[i+1]
print(least, most)
least값과 most값 초기 설정을 해놓고 차례대로 비교하는 식으로 했었는데 . . .
오늘도 어김없이 내 풀이를 제출하고 어디 모범답안들좀 찾아볼까~~하기도 전에 옆에서 주홍이가
'아니 형 그거 3줄이면 끝나요!!'
나 : 경악.
3. 모범답안
x = int(input())
x_list = list(map(int, input().split()))
print(min(x_list),max(x_list))
음~ min max는 생각도 못했다. ㅋㅋㅋㅋㅋㅋㅋㅋ .........
리스트에 min max 적용가능하다 ---
이제 알았으니 되었지 뭐...
2562번
1. 문제
2. 내풀이
num = []
for i in range(9) :
x = int(input())
num.append(x)
print(max(num))
print(num.index(max(num))+1)
내장함수 max도 사용하고 리스트 함수인 index도 사용하고 뭐 잘한 것 같은데
어떻게 더 줄일 수 있나?? 봤더니
3. 모범답안
num = []
for i in range(9) :
num.append(int(input()))
print(max(num))
print(num.index(max(num))+1)
num.append(int(input()))
숫자를 입력하자마자 바로 리스트에 때려박는게 가능했다.
오 . . . . 생각도 못했는걸
3052번
num = set()
for i in range(10) :
num.add(int(input())%42)
print(len(num))
이건 그냥 간단해서 따로 문제랑 내 풀이를 넣진 않았다.
여기서 내가 확인하고 싶었던건 공집합만드는 방법이었다.
공집합 만드는 법을 몰라 빈리스트를 하나 만들고 그 리스트를 다시 집합으로 감싸 공집합을 만들었었는데
그냥 set()이 공집합을 만드는 거였다.
오늘도 많이 배워간다 -!!!!