728x90
반응형
lst = [] # 결과 저장용 리스트 변수
s = '' # 알고자 하는 과일 변수 선언
while True: # 과일을 몇개 담을지 모르기 때문에 무한 반복
v = input('') # 과일 이름 입력 받기
if v == '0': # 과일이 '0' 이면 종료
s = input() # 알고자 하는 과일 입력 받음
break
find_idx = -1 # 동일한 과일이 있는지 찾고 인덱스 기록
for i in range(len(lst)): # 현재 lst 요소수 만큼 반복. lst는 [과일명, 수] 로 구성
if v == lst[i][0]: # lst의 이름이 입력 받은 과일명과 같으면
find_idx = i # 해당 인덱스를 기록
break
if find_idx == -1: # -1 이면 동일 과일명이 없다는 뜻
lst.append([v, 1]) # 그러면 새로 추가[과일명, 1]로 기록. 1은 1개 추가
else:
lst[find_idx][1] += 1 # find_idx가 -1이 아니면 과일명이 있다는 뜻. 해당 인덱스의 수에 +1 함
for i in range(len(lst)): # 알고자 하는 과일 찾기
if lst[i][0] == s: # 리스트의 과일명이 알고자 하는 과일명과 같은지 확인
print(s,'=',lst[i][1]) # 알고자 하는 과일명이면 출력
c_max = 0 # 가장 많은 수 기록용 변수
c_min = len(lst) # 가장 적은 수 기록용 변수. 초기화는 가장 큰 값을 초기값으로 주면 되므로 len(lst) 로함
idx_max = -1 # 가장 많은 수의 인덱스
idx_min = -1 # 가장 적은 수의 인섹스
for i in range(len(lst)):
if lst[i][1] > c_max: # 가장 많은 수 찾기
c_max = lst[i][1]
idx_max = i
if lst[i][1] < c_min: # 가장 작은 수 찾기
c_min = lst[i][1]
idx_min = i
print('max :',lst[idx_max][0],'=',lst[idx_max][1])
print('min :',lst[idx_min][0],'=',lst[idx_min][1])
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : csv 파일의 병원 추천 (0) | 2022.11.27 |
---|---|
[파이썬] 문제 : 재귀함수 사용한 팩토리얼 구하기 (0) | 2022.11.27 |
[파이썬] 문제 : 자판기 판매 잔수와 잔돈 경우의 수 출력 (3) | 2022.11.26 |
[파이썬] 문제 : 축의금 정보 딕셔너리로 만들고 합계 함수 만들기 (0) | 2022.11.26 |
[파이썬] 문제 : 과목명,점수인 딕셔너리에서 평균 계산 함수 만들기 (0) | 2022.11.26 |
댓글