문제 출처 : SW Expert Academy
숫자카드
1. 인덱스 활용하여 카운트 리스트 만들고 활용
2. 요소 값 0, 길이 10의 리스트 생성한 뒤 숫자에 해당하는 인덱스 +1 씩 해주기
T = int(input())
for i in range(1, T+1):
n = int(input())
nums = input()
cnt_list = [0]*10
for num in nums:
cnt_list[int(num)] += 1
max_idx = 0
max_num = cnt_list[0]
for j in range(1, len(cnt_list)):
if cnt_list[j] >= max_num:
max_num = cnt_list[j]
max_idx=j
print(f'#{i} {max_idx} {max_num}')
1
5
49679
#1 9 2
구간합
1. 리스트 인덱싱 활용하여 각 구간합 구하기 sum(nums[i:i+m])
2. max, min 함수 활용
for tc in range(1, int(input())+1):
n, m = map(int, input().split())
nums = list(map(int, input().split()))
range_sum =[]
for i in range(n-m+1):
range_sum.append(sum(nums[i:i+m]))
print(f'#{tc} {max(range_sum)-min(range_sum)}')
1
10 3
1 2 3 4 5 6 7 8 9 10
#3 18