코딩테스트 연습 - 콜라 문제 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
콜라를 받기 위해 마트에 주어야 하는 병 수 a, 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b, 상빈이가 가지고 있는 빈 병의 개수 n이 매개변수로 주어집니다. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요.
입출력 예
a | b | n | result |
2 | 1 | 20 | 19 |
3 | 1 | 20 | 9 |
내 풀이
def solution(a, b, n):
num=0
while a<=n:
num+=(n//a)*b
n=(n//a)*b+(n%a)
return num
풀이
solution = lambda a, b, n: max(n - b, 0) // (a - b) * b
max(n-b, 0) -> n-b와 0중 더 큰 값 return
코딩테스트 연습 - 소수 찾기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
내 풀이
.
풀이
def solution(n):
num=0
for n in range(2, n+1):
for i in range(2,n):
if n%i==0:
break
else:
num+=1
return num
코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
제한사항
입출력 예
s | result |
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
내 풀이 (오답)
def solution(s):
num={'zero':0, 'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9}
for i in num:
if i in s:
return s.replace(i[0], i[1])
풀이
def solution(s):
num={'zero':0, 'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9}
for i in num.items():
s=s.replace(i[0], str(i[1]))
return int(s)
★ items() 사용
'코딩테스트 > programmers (python)' 카테고리의 다른 글
python/ Lv.1 약수의 개수와 덧셈, 이상한 문자 만들기, 나누어 떨어지는 숫자 배열, 실패율 (0) | 2023.02.09 |
---|---|
python/ Lv.1 K번째 수 (0) | 2023.02.04 |
python/ Lv.1 문자열 내 마음대로 정렬하기, 두 개 뽑아서 더하기 (0) | 2023.01.27 |
python/ Lv.1 수박수박수박수? (0) | 2023.01.21 |
python/ Lv.0 저주의 숫자 3 (0) | 2023.01.21 |