어디까지 갈 수 있을까?
[문자열] 프로그래머스 압축 본문
문제링크 programmers.co.kr/learn/courses/30/lessons/17684
[답코드]
def solution(msg):
answer = []
dict={}
for i in range(0, 26):
dict[chr(ord('A')+i)]=i+1
i, num=0, 27
w=''
while i<len(msg):
w+=msg[i]
if w not in dict:
answer.append(dict[w[:-1]])
dict[w]=num
num+=1
w=''
continue
if i==len(msg)-1:
answer.append(dict[w])
i+=1
return answer
[풀이법]
for 문과 while 문의 차이에 대해 다시 생각하게 해 준 문제였다
for 문은 순차접근인 반면, while 문은 i의 값을 내 생각대로 변경할 수 있어서 while 문을 사용하는 것이 유리한 문제였다고 생각한다
사실 문제를 처음 본 날 잘 안 풀려서 다음 날 다시 풀어봤다.
첫날에는 for문으로 풀 수 있다는 생각에 for문으로 계속 시도해서 안 됐었는데, while문으로 시도를 했으면 좀 더 빨리 풀지 않았나 싶다
개인적으로 그렇게 쉽지만은 않은 문제였는데 정답률이 95.8퍼 ㄷㄷㄷ,,,, 다들 대단하십니다
728x90
'알고리즘 > 문제' 카테고리의 다른 글
프로그래머스 후보키 (0) | 2021.05.07 |
---|---|
[문자열] 프로그래머스 프렌즈4블록 (0) | 2021.05.06 |
[문자열] 프로그래머스 방금그곡 (0) | 2021.05.04 |
[해시] 프로그래머스 위장 (0) | 2021.05.03 |
[구현] 프로그래머스 자물쇠와 열쇠 (0) | 2021.05.01 |
Comments