[프로그래머스 Python] 코딩테스트 입문 Day 7 - 문자열, 조건문, 수학, 반복문
코딩테스트 입문 Day 7 문자열, 조건문, 수학, 반복문
- 특정 문자 제거하기
- 각도기
- 양꼬치
- 짝수의 합
1. 특정 문자 제거하기
문자열 my_string
과 문자 letter
이 매개변수로 주어집니다. my_string
에서 letter
를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
👉 문제 보러가기
(1) 코드 작성 - replace
def solution(my_string, letter):
return my_string.replace(letter, "")
(2) 코드 작성 - re 모듈
import re
def solution(my_string, letter):
return re.sub(letter, "", my_string)
(3) 코드 리뷰 및 회고
- version 1 : replace
- 문자열 내에서 특정 문자를 제거할 때, replace 함수를 사용할 수 있다.
문자열.replace(제거할 특정 문자, 대체할 문자)
- version 2 : re
- 문자열 내에서 특정 문자를 제거할 때, re 모듈을 사용할 수 있다.
import re
,re.sub(제거할 특정 묹자, 대체할 문자, 문자열)
- EASY 😎
2. 각도기
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle
이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
- 예각 : 0 <
angle
< 90 - 직각 :
angle
= 90 - 둔각 : 90 <
angle
< 180 - 평각 :
angle
= 180
(1) 코드 작성
def solution(angle):
# 예각 == 1, 직각 == 2, 둔각 == 3, 평각 == 4
if 0 < angle < 90:
return 1
elif angle == 90:
return 2
elif 90 < angle < 180:
return 3
elif angle == 180:
return 4
(2) 코드 리뷰 및 회고
- 조건문을 사용할 때 순서를 신경써야한다.
- 하지만 각도기를 계산할 땐 4가지 조건에 대해 겹치는 부분이 없기 때문에 순서 상관없이 작성해도 된다.
- 코드를 보기 좋게 작성하기 위해 return 값이 1 ~ 4인 조건을 순서대로 작성했다.
- EASY 😎
3. 양꼬치
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n
과 k
가 매개변수로 주어졌을 때, 양꼬치 n
인분과 음료수 k
개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.
👉 문제 보러가기
(1) 코드 작성 - 친절 ver
def solution(n, k):
service = n // 10
k_num = k - service
return 12000*n + 2000*k_num
(2) 코드 작성 - 불친절 ver
def solution(n, k):
return 12000*n + 2000*(k - n//10)
(3) 코드 리뷰 및 회고
- 불친절 ver를 보기 좋게 작성한 것이 친절 ver이다.
- 서비스로 받은 음료수의 개수만큼 결제금액에서 제외해야하기 때문에
마신 음료수 개수 - 10인분당 서비스로 받은 음료수 개수
를 계산 과정에 사용했다. - SO EASY 😎
4. 짝수의 합
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
👉 문제 보러가기
(1) 코드 작성 - 친절 ver
def solution(n):
answer = []
# 2부터 n까지의 숫자를 스텝을 2로 하여 변수에 추가
for i in range(2, n+1, 2):
answer.append(i)
return sum(answer)
(2) 코드 작성 - 불친절 ver
def solution(n):
return sum([x for x in range(n+1) if x%2==0])
(3) 코드 리뷰 및 회고
- 불친절 ver를 보기 좋게 작성한 것이 친절 ver이다.
- 친절 ver
- range에 step을 추가하여 짝수만 반환될 수 있도록 했다.
- 빈 리스트에 짝수를 추가한 후 sum 함수로 리스트 내 요소들의 합을 구했다.
- 불친절 ver
- 위 친절 버전과는 다르게 range에 정수 n까지 출력될 수 있게 설정했다.
- 그리고 조건문을 추가하여 2로 나누어떨어질 때의 값만 가져올 수 있도록 했다.
- 리스트 컴프리헨션으로 짝수 값을 가져온 후 sum 함수로 리스트 내 요소들의 합을 구했다.
- SO EASY 😎
👩🏻💻개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다.
댓글남기기