n = input()
sets = 1
number = [0,1,2,3,4,5,6,7,8,9]
for num in n :
num = int(num)
if num in number :
number.remove(num)
continue
else :
if num == 6 :
if 9 in number :
number.remove(9)
continue
elif num == 9 :
if 6 in number :
number.remove(6)
continue
sets += 1
number.extend([0,1,2,3,4,5,6,7,8,9])
number.remove(num)
continue
print(sets)
n = input()
sets = [0] * 10
for num in n :
if int(num) == 6 or int(num) == 9 :
if sets[6] < sets[9] :
sets[6] += 1
else :
sets[9] += 1
else :
sets[int(num)] += 1
print(max(sets))
첫 번째 코드는 그냥 냅다 수가 없으면 다시 0부터 9까지 배열을 추가하고 진행할 수 있도록 풀었다. 풀면서도 이렇게 풀면 안된다는 생각을 하면서 풀었다..^^
그래서 다른 사람들의 풀이를 살펴봤고, 다시 두 번째 코드처럼 작성하고 완료할 수 있었다.
먼저 배열의 숫자를 비교하면서 +1을 해주고, 6 혹은 9일 경우 배열[6]과 배열[9] 값이 더 작은 곳에 +1을 해주었다.
그 다음 배열에서 가장 큰 숫자가 무엇인지 출력하면 된다.