파이썬 코드카타 26, 27, 28, 29, 30번
2024. 2. 21. 08:01ㆍ전처리/PYTHON
26번 음양 더하기
def solution(absolutes, signs):
answer = []
for num in absolutes:
if signs[0] == True:
answer.append(num)
signs.pop(0)
else:
num = -num
answer.append(num)
signs.pop(0)
return sum(answer)
후기: 비교해서 부호를 붙이고 리스트로 묶어서 sum함수를 이용해서 모두 더했다.
27번 핸드폰 번호 가리기
def solution(phone_number):
answer = ('*' * len(phone_number[:-4])
+ phone_number[-4]
+ phone_number[-3]
+ phone_number[-2]
+ phone_number[-1]
)
return answer
후기: 이렇게 해도 되나? 사실 반복문 쓰다가 이게 더 빨리 쓸 것 같아서 바꿔서 썼다.
28번 없는 숫자 더하기
def solution(numbers):
answer = 0
for i in range(1,10):
if i not in numbers:
answer += i
return answer
후기: numbers를 가지고 뭘 하려고 하지 않고, 넘버를 냅두고 비교했다.
29번 제일 작은 수 제거하기
def solution(arr):
if len(arr) == 1:
return [-1]
else:
answer = arr.remove(min(arr))
return arr
후기: min(list)를 이용하면 된다.
30번 가운데 글자 가져오기
def solution(s):
if len(s) % 2 == 1:
n = divmod(len(s), 2)
answer = list(s).pop(sum(n)-1)
return answer
else:
n = int(len(s)/2)
answer = list(s).pop(n-1) + list(s).pop(n)
return answer
인사이트
- pop()은 index값이 빠진다.
- str은 pop()하지 못한다.
- len값 / -1(연산)은 float형이라 pop()하지 못한다.
'전처리 > PYTHON' 카테고리의 다른 글
파이썬 코드카타 36번 : isdecimal (0) | 2024.03.04 |
---|---|
파이썬 코드카타 31~35번 : 문제 없음! (0) | 2024.03.01 |
짝꿍 되는 경우의 수(combinations), 사다리 타기 파이썬 코드 (0) | 2024.02.18 |
1등 번호만 뽑는 로또 추첨기 파이썬 코드 (0) | 2024.02.18 |
파이썬 코트카타 21, 22, 23, 24, 25번 (0) | 2024.02.15 |