반응형
# 문제 링크
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
# 풀이
막혔던 부분 💢
처음에는 간단하게 숫자에 3, 6, 9가 포함되면 '-' 출력, 아니면 그대로 숫자 출력. 이렇게 생각했다.
그런데 그럼 '-'가 연속될 때는 공백 없이 출력, 나머지는 공백 있이 출력을 구현하지 못한다.
다른 분들의 풀이를 보니, count 변수를 추가로 사용해준 것을 알 수 있었다.
count만큼 '-'를 출력할 수 있도록 !
그리고 헷갈리지 말아야 할 게,
123이 입력으로 들어가면 12- 이렇게 출력하는 게 아니라 !!
1 2 - 4 ... 121 122 12-
이런 식으로 1부터 해당 숫자까지 쭉~ 출력해야 된다.
## 풀이1. 리스트, count 변수 사용
n = int(input()) # 123
rule = ['3', '6', '9']
for i in range(1, n+1):
count = 0
for j in str(i):
if j in rule:
count += 1
if count > 0:
i = '-' * count
print(i, end=' ')
## 풀이2. count 함수 사용
n = int(input()) # 123
for i in range(1, n+1):
i = str(i)
rule = i.count('3') + i.count('6') + i.count('9')
if rule == 0:
print(i, end=' ')
else:
print('-' * rule, end=' ')
[3, 6, 9] 리스트 지정해서 확인할 필요 없이, 각 수를 문자열로 변환한 후 count()로 카운팅 할 수 있다 !
아래 블로그를 참고했다.
https://velog.io/@shon4bw/SWEA-1926-간단한-369게임-파이썬
SWEA 1926 간단한 369게임 (파이썬)
문제 링크👈내 코드❕포인트👏너무 어렵게 생각하지 말고 count함수의 원리를 활용하자포인트를 굳이 뽑자면...clap 에서 3, 6, 9 상황을 더해주고마지막에 '-' \* clap 해주기?처음엔 너무 어렵게 생
velog.io
## 새롭게 알게 된 지식 💡
숫자 리스트 각 자리수 분리하기
num = 123
num_list = list(map(int, str(num)))
print(num_list) # [1, 2, 3]
반응형
'Algorithm > SW Expert Academy' 카테고리의 다른 글
[SWEA/d2] 1945. 간단한 소인수분해 (Python) _딕셔너리 활용 팁 (0) | 2023.11.08 |
---|---|
[SWEA/d2] 1948. 날짜 계산기 (Python) (0) | 2023.11.07 |
[SWEA/d2] 1940. 가랏! RC카! (Python) (0) | 2023.11.07 |
[SWEA/d2] 1204. 최빈수 구하기 (Python) (1) | 2023.11.07 |
[SWEA/d2] 1984. 중간 평균값 구하기 (Python) (0) | 2023.11.07 |