DashInsert 함수

seungmi yang·2022년 2월 7일
0

input : 4546793
output : 454*67-9-3

문자열 안에서 홀수가 연속되면 두수 사이에 -를 추가하고, 짝수가 연속되면 *를 추가하는 기능의 함수를 만들어보자.

data = "4546793"

numbers = list(map(int,data))
result = []

for i, num in enumerate(numbers):
    result.append(str(num))
    if i < len(numbers)-1:
        is_odd = num%2 == 1
        is_next_odd = numbers[i+1]%2 == 1
        if is_odd and is_next_odd:
            result.append('-')
        elif not is_odd and not is_next_odd:
            result.append('*')
       
print("".join(result))
  1. 리스트 형식으로 만들어줌
    map(int, data)
    -> list(map(int,data))

  2. 마지막에 문자열로 출력해야 하기 때문에(어차피 문자열 섞이니까)
    str(num)으로 넣어준다.
    result.append(num) - X
    result.append(str(num)) - O

  3. 맨 마지막은 비교할 필요가 없다.
    if i < len(numbers) - X
    if i < len(numbers)-1 - O

  4. list를 이쁜 문자열(String)로 만들어주기 위해 사용.
    print("".join(result))

profile
개발을 잘하고 싶은 개발자

0개의 댓글