728x90
반응형
goorm
구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.
goorm.co
코드
def func_a(arr): # 배열에 들어있는 각 자연수의 개수 세기
counter = [0 for _ in range(1001)]
for x in arr:
counter[x] += 1
return counter
def func_b(arr): # 가장 많이 등장하는 수의 개수 세기
ret = 0
for x in arr:
if ret < x:
ret = x
return ret
def func_c(arr): # 가장 적게 등장하는 수의 개수 세기
INF = 1001
ret = INF
for x in arr:
if x != 0 and ret > x:
ret = x
return ret
def solution(arr):
counter = func_a(arr)
max_cnt = func_b(counter)
min_cnt = func_c(counter)
return max_cnt // min_cnt
arr = [1, 2, 3, 3, 1, 3, 3, 2, 3, 2]
ret = solution(arr)
print("solution 함수의 반환 값은", ret, "입니다.")
풀이
각 함수가 어떠한 단계를 나타내는지 유심히 살펴볼 필요가 있다.
- func_b(arr) : ret = 0과 x를 비교한 후, x가 크면 ret을 x로 대체하는 함수이다.
→ ret은 가장 큰 수로 계속 대체되며, 결국은 가장 큰 수가 됨
- func_c(arr) : ret = 1001 (가장 큰 수)와 x를 비교한 후, x가 0이 아니거나 x가 ret보다 작을 경우, ret을 x로 대체하는 함수이다.
→ ret은 점차 작은 수로 대체되며, 결국은 가장 작은 수가 됨
728x90
반응형
'코딩 테스트 > COS PRO Python 2급' 카테고리의 다른 글
🐱💻[COS PRO Python 기출 - 1차(빈칸)] 6. 369 게임 박수의 갯수 구하기 (0) | 2022.07.14 |
---|---|
[COS PRO Python 기출 - 1차(빈칸)] 5. 배열의 순서 뒤집기 (0) | 2022.07.14 |
[COS PRO Python 기출 - 1차(빈칸)] 3. 시작 날짜와 끝 날짜의 사이 날짜 구하기 (0) | 2022.07.13 |
[COS PRO Python 기출 - 1차(구현)] 2. 쇼핑몰 등급별 할인 금액 구하기 (0) | 2022.07.13 |
[COS PRO Python 기출 - 1차] 1. 단체 티셔츠를 주문하기 (0) | 2022.07.09 |