プログラマ-圧縮
![](https://s1.md5.ltd/image/e47f6f85473036dce3986f60bb4da703.png)
質問する
2018 KACAブラインド採用コードテストでの質問です.
辞書は、すべての長さ1の単語
コード#コード#
def solution(msg):
mark = {"A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, "I": 9, "J": 10, "K": 11, "L": 12, "M": 13,
"N": 14, "O": 15, "P": 16, "Q": 17, "R": 18, "S": 19, "T": 20, "U": 21, "V": 22, "W": 23, "X": 24, "Y": 25,
"Z": 26}
answer = list()
w, c = 0, 0
while True:
if c == len(msg):
answer.append(mark[msg[w:c]])
break
elif msg[w:c+1] in mark:
c += 1
else:
answer.append(mark[msg[w:c]])
mark[msg[w:c+1]] = len(mark)+1
w = c
return answer
markという名前のdickshernaryでは、msg[w:c++1]が存在しないまでcを1つずつ増やし、存在しなければdickshernaryに再追加することでこの問題を解決し、markを初期化する過程でc言語のように書くとは思わなかったので、pythonでもアスキーコードを書くとは思わなかった. mark = dict()
for i in range(0,26):
mark[chr(65+i)] = i+1
これで簡単に初期化できます.解いてから。
プログラマレベル2はページ上の順で解答していて、kakaoに出てくる問題自体は解答できますが、コードを作ると論理があまり正確ではないので解答しにくいです.論理をより細かく組織し、作成しなければならない.
Reference
この問題について(プログラマ-圧縮), 我々は、より多くの情報をここで見つけました https://velog.io/@deankang97/프로그래머스-압축テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol