수 많은 우문은 현답을 만든다

(Easy) 연속 문자열 변형 본문

코딩테스트/Array & String

(Easy) 연속 문자열 변형

aiden.jo 2023. 6. 5. 13:59

연속된 알파벳으로 구성된 문자열이 입력될때, 다음으로 오는 문자가 앞의 문자와 같다면 알파벳 하나를 증가시키는 프로그램

Example 1.
INPUT : aacc
OUTPUT : abcd

Example 2.
INPUT : aaa
OUTPUT : abc

Example 3.
INPUT : yzz
OUTPUT : yza

 

풀이

def transform_string(input):
    temp = '';
    result = '';
    gap = 1;
    
    for el in input:
#        print("el : ", el)
#        print("result : ", result)

        # 첫번째 문자 처리
        if temp == '':
            temp = el;
            result += el;
            continue;
        else:    
 			# 앞뒤 문자가 같을때
            if temp == el:                
                if ord(el) == 122:
                    newEl = chr(ord('a')-1 + ord(el)-122 + gap);
                else:
                    newEl = chr(ord(el) + gap)
                result += newEl
                gap += 1
            # 로직 초기화
            else:
                result += el;
                temp = el;
                gap = 1

'코딩테스트 > Array & String' 카테고리의 다른 글

Remove Element  (1) 2024.02.29
(Easy) 문장 뒤집기  (0) 2023.06.05