D2
Problem
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
Solution
1. Counting Sort 와 같이 index를 값으로 하는 리스트를 만들어 개수를 센다.
2. 개수 내에서 최댓값과 그 index를 출력한다.
Code
for test_case in range(1, int(input()) + 1):
N = int(input())
# 0이 제일 앞에 나올때를 대비해 str형식으로 받아 한 글자씩 int 변환
num_list = list(map(int, list(input())))
cnt = [0] * 10 # 개수 카운트용 리스트(Index = 숫자)
# 개수 카운트
for i in range(N):
cnt[num_list[i]] += 1
# 최대 값과 최대값 인덱스 구하기
max_idx = 0
# max 함수 안 써보기
for i in range(len(cnt)):
if cnt[max_idx] <= cnt[i]:
max_idx = i
print(f'#{test_case} {max_idx} {cnt[max_idx]}')
※ 주의
max() 함수를 쓸 경우, list의 내장 함수 .index()를 써서 인덱스 값을 가져올 수 있지만,
.index() 는 값이 같으면 가장 작은 값을 가져오기 때문에 주의 해야한다.
반응형
'Algorithm > SW Expert Academy Review' 카테고리의 다른 글
1208. [S/W 문제해결 기본] 1일차 - Flatten (0) | 2023.03.05 |
---|---|
4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스 (0) | 2023.03.05 |
1206. [S/W 문제해결 기본] 1일차 - View (0) | 2023.03.05 |
16504. Gravity (0) | 2023.03.05 |
LIST1. 1일차 - min max (0) | 2023.02.12 |