SWEA(Python) 풀이/D2

SWEA[D2] (Python) 1926번 간단한 369게임 풀이

개발윗미 2022. 4. 27. 19:02

Python으로 구현한 1926번 간단한 369게임 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=2&pageSize=10&pageIndex=1 

 

SW Expert Academy

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

swexpertacademy.com


n = int(input())

for i in range(1, n + 1) :
    if len(str(i)) < 2 :
        if i in [3, 6, 9] :
            print('-', end=' ')
        else :
            print(i, end=' ')
    else :
        value = ''
        for j in range(len(str(i))) :
            if int(str(i)[j]) == 3 or int(str(i)[j]) == 6 or int(str(i)[j]) == 9 :
                value += '-'

        if len(value) >= 1 :
            print(value, end=' ')
        else :
            print(i, end=' ')

 

1. 1부터 n까지의 숫자를 확인하는데, 만약 확인하고 있는 숫자가 한자리 수일 경우 단순히 [3, 6, 9] 가 있는지 확인하고, 있다면 '-'를 출력하고 없다면 숫자를 그대로 출력한다.

 

2. 만약 숫자가 두 자리 수 이상일 경우 아래와 같이 작업을 수행한다.

  - 숫자를 문자형으로 변환하여 한 자리 수씩 확인한다.

  - 해당 문자 수를 정수형으로 변환한 값이 3이거나 6이거나 9일 경우 value에 문자 '-'를 추가한다.

  - 모든 문자를 확인하면 최종적으로 value의 길이를 확인해 '-' 문자가 하나라도 있을 경우 value를 출력하고, 없을 경우 숫자(i)를 출력한다.