[プログラマーlv 2]圧縮Python
2018 KAKAO BLIND RECRUITMENT問題
メニューさえ押せば簡単に解ける質問です.
しかし、文字列インデックス部分では、いくつかの混同点があるので、考察して文章を書きます.
以下に、通過したコードを記述します.
3.wに対応する辞書のインデックス番号を出力し、入力からwを削除します.
4.入力に未処理の次の文字がある場合は、予め(c)、w+cの対応する単語を登録する.
部分的にcを保存する場合
斜体文字列の最初の文字をcに格納する方法が実現される.
でもここにいたら.
こうしてインデックスエラーが発生しました.
原因がmsgが「」の場合
1.msg[0]可読性なし、インデックス外エラー
2.msg[0:1]などの斜線は、インデックスに値がない場合でも空の文字列を返します.=>概念をさらに拡張すると、インデックスが存在する値が返され、存在しない場合はNULLが返されます.
この効果はpythonの正式なドキュメントでも見つけることができます.
ソース:https://docs.python.org/3.10/tutorial/introduction.html#strings
メニューさえ押せば簡単に解ける質問です.
しかし、文字列インデックス部分では、いくつかの混同点があるので、考察して文章を書きます.
以下に、通過したコードを記述します.
def solution(msg):
answer = []
dic = {"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}
while msg!="":
for i in range(len(msg)):
if msg[:len(msg)-i] in dic.keys():
w=msg[:len(msg)-i]
answer.append(dic[w])
msg=msg[len(msg)-i:]
c=msg[0:1]
dic[w+c]=max(dic.values())+1
break
return answer
問題のメニューバー3.wに対応する辞書のインデックス番号を出力し、入力からwを削除します.
4.入力に未処理の次の文字がある場合は、予め(c)、w+cの対応する単語を登録する.
部分的にcを保存する場合
msg=msg[len(msg)-i:]
c=msg[0:1]
文字列クリップは、文字列を削除するプロセスです.斜体文字列の最初の文字をcに格納する方法が実現される.
でもここにいたら.
msg=msg[len(msg)-i:]
c=msg[0]
これに変えれば.こうしてインデックスエラーが発生しました.
原因がmsgが「」の場合
1.msg[0]可読性なし、インデックス外エラー
2.msg[0:1]などの斜線は、インデックスに値がない場合でも空の文字列を返します.=>概念をさらに拡張すると、インデックスが存在する値が返され、存在しない場合はNULLが返されます.
この効果はpythonの正式なドキュメントでも見つけることができます.
ソース:https://docs.python.org/3.10/tutorial/introduction.html#strings
Reference
この問題について([プログラマーlv 2]圧縮Python), 我々は、より多くの情報をここで見つけました https://velog.io/@94kdh0823/프로그래머스-lv2-압축-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol