AngelPlayer`s Diary

링크

https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

문제 해석

T : 테스트 케이스 개수 ( 1 ≤ T ≤ 50 )

N : 카드 장수 ( 5 ≤ N ≤ 100 )

a : 여백 없이 숫자를 제공 (0 ≤ a ≤ 9)

 

가장 많은 숫자의 번호와 장수를 출력하라.

최대 장수가 동일한 경우, 번호가 더 큰 숫자를 출력한다.

 

 

코드

import sys
sys.stdin = open("4834_input.txt", "r")
# input
T = int(input())
for test_case in range(1, T + 1):
N = int(input())
a = input()
# process
counter = [0 for _ in range(10)]
max_count = 0
max_num = 0
for number in a:
counter[int(number)-1] = counter[int(number)-1] + 1
if max_count < counter[int(number)-1]:
max_count = counter[int(number)-1]
max_num = number
elif max_count == counter[int(number)-1] and max_num < number:
max_num = number
# output
print(f"#{test_case} {max_num} {max_count}")
view raw swea_4834.py hosted with ❤ by GitHub

 

 

 

코드 해석

# input

 

 

# process

 

 

# output

 

 

 

발생한 문제 & 해결 방안

0~9까지인데 값을 저장하는 counter의 range를 10이 아닌 9로 설정하여 오류가 발생하였다.

 

 

 

 

 

 

 

해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.

혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다!

공유하기

facebook twitter kakaoTalk kakaostory naver band