数値列と文字列
質問元:プログラマ
質問の概要
숫자열과 문자열
- 네오가 프로도에게 숫자의 일부를 문자열로 바꾼 카드를 건넨다.
- 프로도가 문자열로 표시된 부분을 원래 숫자로 다시 바꾸는 프로그램 작성
규칙)
- 아이디의 길이는 3자 ~ 15자
- 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 만 사용 가능
- 단, 마침표(.)는 처음과 끝에 사용할 수 없으며, 연속으로 사용 불가
- 빈문자열이 되면 a로 채우고, 길이가 부족하면 바로 앞문자 반복
- 길이가 넘어가면 뒤의 문자열은 제외
입력)
s = "one4seveneight"
출력)
result = '1478'
コード#コード#
def solution(s):
answer = s
num_dic = {'zero':0, 'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9}
for key, value in num_dic.items():
answer = answer.replace(key, str(value))
return int(answer)
solution('one4seveneight')
1478
定義された変数値の決定
num_dic = {''zero':0, one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9}
num_dic.items()
dict_items([('zero', 0), ('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5), ('six', 6), ('seven', 7), ('eight', 8), ('nine', 9)])
range(len(nums)活用コード
def solution(s):
nums = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for i in range(len(nums)):
s = s.replace(nums[i], str(i))
return int(s)
solution('one4seveneight')
1478
Reference
この問題について(数値列と文字列), 我々は、より多くの情報をここで見つけました https://velog.io/@wltn39/숫자열과-문자열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol