반응형
SW Expert Academy 1926: 간단한 369게임
- 문제
입력으로 정수가 주어지면 1부터 해당 정수까지의 정수를 출력하는데, 3/6/9가 하나라도 있으면 해당 하는 만큼 '-'를 출력하는 문제다.
- 풀이
N = int(input())
for i in range(1, N+1):
changed = False # -가 있는지 확인용
if '3' in str(i) or '6' in str(i) or '9' in str(i): # 3,6,9가 있으면 숫자 출력 불가
changed = True
for j in str(i): # 모든 문자를 비교
if '3' in j or '6' in j or '9' in j: # 3,6,9가 있으면 -하나 출력
print('-', end="")
else:
if changed == False: # 문자열에 3,6,9가 하나라도 있으면 숫자 출력 불가
print(j, end="")
print("", end=" ")
N을 입력받으면 1부터 N까지의 숫자를 출력하되 3/6/9가 있으면 해당하는 만큼 '-'를 출력해야하므로 for j in str(i)를 통해 만약 i가 38이면 '3'이랑 '8'을 따로 구분해서 3/6/9에 해당하는 숫자가 있는 지 판별하고 해당하면 '-'를 출력하도록 했다. changed를 통해 3/6/9가 하나라도 있는지 구분하고 있으면 숫자를 출력하지 못하도록 하였다.
- 기억할 것!
- 1부터 n까지 출력해야 하므로 range(1,N+1)을 해야함
반응형
'Algorithm > SW Expert Academy' 카테고리의 다른 글
SWEA 1226 : 미로1(S/W 문제해결 기본)[파이썬] (0) | 2022.05.28 |
---|---|
SWEA 2005 : 파스칼의 삼각형(D2)[파이썬] (0) | 2022.05.26 |
SWEA 2063 : 중간값 찾기(D1)[파이썬] (0) | 2022.05.25 |
SWEA 2071 : 평균값 구하기(모의 SW D1)[파이썬] (0) | 2022.05.10 |
SWEA 5658 : 보물상자 비밀번호 (모의 SW 역량테스트)[파이썬] (0) | 2022.05.09 |