룰루코딩

SWEA D2 1926. 간단한 369게임 본문

SWEA

SWEA D2 1926. 간단한 369게임

rulru01 2024. 9. 9. 23:58

문제


솔루션

N = int(input()) 

for i in range(1, N+1):
    i = str(i)
    cnt = i.count('3') + i.count('6') + i.count('9')
    
    if cnt== 0:
        print(i, end=' ')
    else:
        print('-' * cnt, end=' ')​

 


알게된점

N = int(input())
li = []
for i in range(1, N+1):
    if "3" or "6" or "9" in str(i):
        li.append("-")
    else:
    	li.append(i)

print()

처음에 이런식으로 푸려했는데 접근방식은 비슷했지만 ,

숫자가 두자리가 될때부터는 369갯수를 세워줘야해서 잘못됐다.

 

N = int(input()) 

for i in range(1, N+1):
    i = str(i)
    cnt = i.count('3') + i.count('6') + i.count('9')
    
    if cnt== 0:
        print(i, end=' ')
    else:
        print('-' * cnt, end=' ')​

count를 이용해서 3,6,9를 센 후 숫자를 저장해 그만큼 - 를 쓸 수 있도록 하면 되는거였다.

 

n = int(input()) # 123
li = ['3', '6', '9']

for i in range(1, n+1):
    cnt = 0
    for j in str(i):
        if j in li:
            count += 1
    if cnt > 0:
        i = '-' * cnt
    print(i, end=' ')

count함수를 사용하지 않는 풀이법이다.

직접 for문을 돌려 리스트를 이용해 숫자를 세준다.