728x90
[파이썬] 프로그래머스 Lv0. x 사이의 개수, 문자열 잘라서 정렬하기, 간단한 식 계산하기
안녕하세요 머킹입니다.
제가 프로그래머스로 코딩테스트를 푼 지 그래도 조금 시간이 지났는데
이제 드디어 LV0의 끝이 보이는 것 같아서 너무너무 기쁩니다...
x 사이의 개수
문제 설명
문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때
나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
def solution(myString):
answer = []
for substring in myString.split('x'):
answer.append(len(substring))
return answer
이번에는 가볍게 풀었습니다!
문자열 잘라서 정렬하기
문제 설명
문자열 myString이 주어집니다.
"x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로
정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.
def solution(myString):
answer = []
for substring in myString.split('x'):
if substring:
answer.append(substring)
answer.sort()
return answer
위랑 살~짝 다르죠
if 문이 한 번 더 쓰인 것 외에는 바뀐 게 없습니다 ㅎㅎ
def solution(myString):
return sorted(ch for ch in myString.split('x') if ch)
다른 사람의 풀이를 보니까 sorted 함수도 사용할 수 있겠네요!
리스트 컴프리헨션을 다들 어떻게 이렇게 잘 쓰시는지... 신기합니다.
간단한 식 계산하기
문제 설명
문자열 binomial이 매개변수로 주어집니다.
binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다.
주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
def solution(binomial):
elements = binomial.split()
a = int(elements[0])
op = elements[1]
b = int(elements[2])
if op == '+':
result = a + b
elif op == '-':
result = a - b
elif op == '*':
result = a * b
return result
헤헤 제 코드 진짜 기네요 ㅎ
solution=eval
다른 사람 답 보는데 이게 되네요 ㅋㅋㅋㅋㅋㅋㅋ
def solution(binomial):
a, op, b = binomial.split()
a = int(a)
b = int(b)
if op == "+":
result = a + b
elif op == "-":
result = a - b
elif op == "*":
result = a * b
return result
split을 이렇게 사용하는 게 좋을 것 같습니다.
'오늘부터 코딩테스트' 카테고리의 다른 글
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.31 |
---|---|
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.30 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.26 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.25 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.22 |