프로그래머스 코딩테스트 입문 day7 : 문자열, 조건문, 수학, 반복문
1. 특정 문자 제거하기
[내 풀이]
def solution(my_string, letter):
answer = ''
answer = ''.join(my_string.split(letter))
return answer
[다른 풀이]
(1)
def solution(my_string, letter):
return my_string.replace(letter,'')
(2)
def solution(my_string, letter):
answer = ''
for string in my_string:
if string != letter: # if string not in letter : letter가 문자가 아닌 문자열일때
answer += string
return answer
2. 각도기
[내 풀이]
def solution(angle):
answer = 0
if angle > 0 and angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif angle > 90 and angle < 180:
answer = 3
else :
answer = 4
return answer
[다른 풀이]
(1)
def solution(angle):
answer = (angle // 90 ) * 2 + (angle % 90 > 0 ) * 1 # True (1) / False (0) 로 반환됨
return answer
(2)
def solution(angle):
if angle<=90:
return 1 if angle<90 else 2
else:
return 3 if angle<180 else 4
(3)
def solution(angle):
angles = {180: 4, 91: 3, 90: 2, 0: 1}
for base, result in angles.items():
if angle >= base:
return result
3. 양꼬치
: 10인분을 먹으면 음료수 하나를 서비스
양꼬치 n인분과 음료수 k개를 먹었다면 총얼마
[내 풀이]
def solution(n, k):
answer = 0 #total price
if n >= 10:
k -= n // 10
answer = n * 12000 + k * 2000
return answer
[다른 풀이]
(1)
def solution(n, k):
return 12000 * n + 2000 * (k - n // 10)
4. 짝수의 합: 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값
[내 풀이]
(1)
def solution(n):
answer = 0
for i in range(2, n+1):
if i % 2 == 0:
answer += i
return answer
(2)
def solution(n):
answer = 0
answer = sum (i for i in range(1, n+1) if i % 2 == 0) # n % 2 == 0 으로 하니까 오답뜸.. i 가 짝수인지를 검사해야함
return answer
[다른 풀이]
(1)
def solution(n):
answer = 0
answer = sum([i for i in range(2, n+1, 2)])
return answer
(2)
def solution(n):
return 2* (n//2) * ((n//2)+1)/2
: 등차수열의 합