본문 바로가기
Algorithm/SW Expert Academy

[D2] 1926. 간단한 369 게임 (Python)

by Devwon99

● 문제


 

SW Expert Academy

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

swexpertacademy.com

● 풀이


n = int(input()) # 1 ~ N 까지의 수 입력
numList = list() # 1 ~ N 까지의 수를 담을 리스트

for i in range(1, n+1):
    i = str(i) #문자열 형변환
    resultValue = 0
    threeCount = i.count('3') #문자열에 '3'에 해당하는 값이 몇개인지 반환
    sixCount = i.count('6')
    nineCount = i.count('9')

    resultValue = threeCount + sixCount + nineCount

    if resultValue == 0:
        print(i, end=" ")
    elif resultValue >= 1:
        print("-" * resultValue, end=" ")

해당 문제는 숫자를 문자로 변환하여 문자열 내장함수인 count를 사용하여 간단하게 풀 수 있다.

● 발생했던 오류 정리


# Sorry: TabError: inconsistent use of tabs and spaces in indentation (line 8)
# 코드 들여쓰기 오류
#Memory error occured, (e.g. segmentation error, memory limit Exceed, stack overflow,... etc)
# 배열에 할당된 크기를 넘어서 접근했을 때
# 전역 배열의 크기가 메모리 제한을 초과할 때
# 지역 배열의 크기가 스택 크기 제한을 넘어갈 때
# 0으로 나눌 떄
# 라이브러리에서 예외를 발생시켰을 때
# 재귀 호출이 너무 깊어질 때
# 이미 해제된 메모리를 또 참조할 때
# 프로그램(main 함수)이 0이 아닌 수를 반환했을 때