- 치킨 쿠폰


=> 더 좋은 풀이
def solution(chicken):
return int(chicken*0.11111111111)
=> 10%의 10%의 10%의 10%
def solution(chicken):
coupon = 0
while chicken > 9:
coupon += chicken // 10
chicken = chicken // 10 + chicken % 10
return coupon
- 유한소수 판별하기


=> 어려워서 못 풀었던 문제!
일단 분모, 분자 같으면 1 / b에 a,b의 최대공약수(gcd)를 나누어서 기약분수로 만듬(c)
2로 계속 나누다가 나눌게 없으면 break, 5로 계속 나누다가 나눌게 없으면 break
이렇게 하고 남은 c의 값이 1이면 유한소수, 1이 아니면 유한소수가 아니다.
=> gcd 안쓰고 푼 풀이
def solution(a, b):
answer = 0
for i in range(2, min([a, b]) + 1):
while a % i == 0 and b % i == 0:
a = a // i
b = b // i
while b % 2 == 0:
b = b // 2
while b % 5 == 0:
b = b // 5
if b == 1:
answer = 1
else:
answer = 2
return answer
- 문자열 밀기


=> 더 좋은 풀이
solution=lambda a,b:(b*2).find(a)
B 문자열을 2배로 늘리고 A의 index를 찾으면 밀린 순서가 나옴
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
'파이썬 코딩' 카테고리의 다른 글
| [24/11/08] 파이썬 매일 문제 풀이 13일차 (1) | 2024.11.09 |
|---|---|
| [24/11/05] 파이썬 매일 문제 풀이 12일차 (0) | 2024.11.05 |
| [24/11/03] 파이썬 매일 문제 풀이 10일차 (0) | 2024.11.04 |
| [24/11/02] 파이썬 매일 문제 풀이 9일차 (0) | 2024.11.02 |
| [24/11/01] 파이썬 매일 문제 풀이 8일차 (0) | 2024.11.02 |