https://cansweep.tistory.com/219
위 문제를 다시 python을 이용해 풀어보았다.
💡 사용된 개념
re.sub()
string에서 pattern을 repl로 변환한 문자열을 반환한다.
re.sub(pattern, repl, string, count=0, flags=0)
- pattern : 찾을 패턴
- repl : 대체할 문자열
- string : 주어진 문자열
📝 풀이
import re
answer = ""
s = "KKHSSSSSSEE"
count = 1
for i in range(0, len(s)):
if(i < len(s)-1 and s[i] == s[i+1]):
count += 1
else:
answer += s[i] + str(count)
count = 1
print(re.sub(r'1', '', answer))
주어진 문자열 s의 각 문자를 순회한다.
배열의 범위를 넘지 않는 부분에 대해서 s[i]와 s[i+1]이 동일한 문자라면 count에 1을 더한다.
동일한 문자가 아니라면 answer에 s[i]와 count를 문자열로 변환해 넣어준 후 count를 1로 초기화한다.
이후 1은 생략되기 때문에 re.sub()을 이용해 1을 빈 문자열로 바꾼 후 출력한다.
'Algorithm > Python' 카테고리의 다른 글
[LeetCode] Two Sum (0) | 2022.01.25 |
---|---|
[프로그래머스] 베스트 앨범 (0) | 2022.01.25 |
[프로그래머스] 위장 (0) | 2022.01.24 |
[프로그래머스] 전화번호 목록 (0) | 2022.01.24 |
[프로그래머스] 완주하지 못한 선수 (0) | 2022.01.24 |
댓글