Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 10430번
- 99일지
- EnvCommandError
- 파이썬 map 함수
- cp949
- 개발자사이드프로젝트
- 99클럽
- 코딩부트캠프후기
- 항해
- 개발자스터디
- MomentumParameters
- 파이썬
- vscode cp949
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
- print sep
- 코딩테스트
- Til
- 파이썬 sep
- 파이썬 |
- 백준
- 주니어개발자멘토링
- fatal:not a git repository
- 주니어개발자역량강화
- 항해99
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- not a git repository
- print("""
- 파이썬 int()
- 항해플러스
- 파이썬 클래스
Archives
- Today
- Total
선발대
[스파르타] 99클럽 코테스터디 5일차 TIL / 숫자 변환하기 본문
프로그래머스: 숫자 변환하기 (링크)
처음에는 재귀로 풀 수 있을 것이라 생각하고 돌렸는데 계속 오류가 나서 결국 다른 사람의 풀이를 찾아봤다.
dp에 매번 값을 넣어두고 set을 이용해서 동일한 값을 제거하는 방식으로 풀었다.
x값이 초기 dp에 있으므로 x값과 동일한 y값이 나타나면 그 때의 answer를 리턴하게 된다.
막상 풀이를 보면 간단한데 아직 적재적소에 맞는 방법이 바로 떠오르지 않는 것 같다.
def solution(x, y, n):
answer = 0
dp = set()
dp.add(x)
while dp:
if y in dp:
return answer
else:
dp_y = set()
for i in dp:
if i+n <= y:
dp_y.add(i+n)
if i*2 <= y:
dp_y.add(i*2)
if i*3 <= y:
dp_y.add(i*3)
dp = dp_y
answer += 1
return -1
'스파르타코딩클럽 > 활동 내용' 카테고리의 다른 글
[스파르타] 99클럽 코테스터디 7일차 TIL / 소수 찾기 (1) | 2024.05.09 |
---|---|
[스파르타] 99클럽 코테스터디 6일차 TIL / 백준 28324 (0) | 2024.05.08 |
[스파르타] 99클럽 코테스터디 4일차 TIL / 백준 15686 (0) | 2024.05.06 |
[스파르타] 99클럽 코테스터디 3일차 TIL / 백준 2010 (0) | 2024.05.05 |
[스파르타] 99클럽 코테스터디 2일차 TIL / 백준 1309 (0) | 2024.05.04 |
Comments