본문 바로가기
[SWEA] 풀이/[SWEA] D2

[SWEA] SWEA 1926번: 간단한 369게임 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 13.
반응형

 

안녕하세요.

이번 포스팅은 SWEA의 1926 문제 풀이입니다.

문제 이름은 "간단한 369게임" 입니다.

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
= int(input())
for i in range(1, N+1):
    l = str(i)
    cout = 0
    for j in l:
        if j == '3' or j == '6' or j == '9':
            cout += 1
    if cout > 0:
        print('-'*cout, end=' ')
    else:
        print(i, end=' ')
cs

 

핵심: 문자열로 변환하여 3, 6, 9 가 있으면 카운트를 해줍니다.

36일 때는 문자열로 탐색하면 카운트가 2이므로 -를 2번 출력합니다.

 

1. 숫자 N을 입력 받습니다.

 

2. for 문을 통해 1부터 N까지 순서대로 탐색합니다.

 

3. i를 문자열로 변환합니다.

 

4. 3, 6, 9가 포함 여부를 저장할 변수를 선언합니다.

 

5. 문자열을 탐색합니다.

36일 경우 -> 3, 6

360일 경우 -> 3, 6, 0

 

6~7. 조건문을 통해 3, 6, 9가 포함되어 있으면 카운트를 해줍니다.

 

8~9. 탐색한 문자열이 카운가 되어 있을 경우 카운트만큼 -를 곱해서 출력합니다.

35 -> -

36 -> --

 

10~11. 카운트가 없을 경우 숫자를 출력합니다.

댓글