https://programmers.co.kr/learn/challenges
--풀이
key point: 조건들이 생각보다 까다로웠는데 문제에서 1~7단계까지 부여를 해서 다행인 것 같다
1단계:
문자열 자체에 문자열.lower() 로 모두 소문자로 치환이 가능하다
2단계:
str.isalnum
-> 문자열이 알파벳([a-zA-Z])과 숫자([0-9])로만 구성되었는지 확인하는 파이썬 문자열 메소드
3단계:
불필요하게 for 문으로 풀려고 했는데, 문자열 자체에 while '찾고자 하는 문자열' in '전체 문자열' 이 가능했고,
while 조건에 걸렸을 때 replace method를 사용해서 치환해주었다.
3개 이상인 경우도 처리가 가능하다
ex)
....
앞에 있는 ..이 먼저 걸려서
... 으로 치환
또 ..이 걸려서
..으로 치환
.으로 마지막으로 치환
4단계:
마찬가지로 for문보다 인덱스를 이용해서 [0] index, [-1] index로 조건을 걸어두고, 값을 삭제하는게 아니라
양 끝에 있는 문자들이니까 -> 슬라이싱으로 구별해주었다
5단계:
문자열에도 += 가능하다!
6단계:
if문으로 길이를 판단하고, 처음부터 15개의 문자열로 설정한다
제거 후에 문자 마지막에 '.' 여부를 찾아야함으로 len을 판단하는 조건문 밑에 또 하나의 조건문을 작성해준다
7단계:
ex) result='1'
answer= 1+ 1*(3-1)
ex) result='1a'
answer=1a+a(3-2)
처음에 문자열 자체에 list()로 감싸서 인자를 하나하나씩 찢어서 생각했는데 '.'이 2개 이상인 조건을 처리하는데 어려움이 있었다.
문자열을 조작해서 원하는 조건하의 문자열로 다시 return 해줘야하는 문제 같은 경우에는
새롭게 ''을 두고 조건에 맞게 변경하고 += 해주는 방법도 효과적인 것 같다
'알고리즘' 카테고리의 다른 글
[프로그래머스 - 시저 암호][파이썬] - 8일차 (0) | 2022.06.02 |
---|---|
[프로그래머스 - 가장 큰 수][파이썬] - 7일차 (0) | 2022.06.01 |
[프로그래머스 - [1차] 다트 게임][파이썬] -6일차 (0) | 2022.05.31 |
[프로그래머스 - 소수 만들기][파이썬] -6일차 (0) | 2022.05.31 |
[프로그래머스 -하샤드 수][파이썬]-6일차 (0) | 2022.05.31 |