숫자 문자열과 영단어

https://school.programmers.co.kr/learn/courses/30/lessons/81301

코코아 인턴쉽 문제를 진지하게 해결합시다.


귀여운 프로도와 네오가 게임을 하고 있습니다. 문자와 숫자가 혼합된 입력값이 들어올 때 적절한 숫자열이 출력값으로 주어지는 문제가 있다. 먼저 제가 작성한 코드를 보겠습니다.


먼저 문자열 중 일부를 교체하기 위해 replace라는 메서드를 사용하기로 결정했습니다. 이 문제를 해결할 때 염두에 두어야 할 가장 중요한 개념은 다음과 같습니다.

“Python에서 문자열은 불변(immutable) 데이터 유형입니다. 따라서 이를 변경하려면 새 문자열을 만들고 그 안에 값을 입력해야 합니다.”

보지마. 먼저 처음에 작성한 문제 코드를 살펴보겠습니다.

적절한 숫자를 문자열에 쉽게 매핑하기 위해 사전 데이터 유형을 사용합니다. 거칠게 초기화하고 빈 문자열 temp를 만들고 매개 변수로 제공된 문자열의 문자를 읽습니다. 그리고 temp가 dict에 key로 존재한다면, replace 메소드를 사용하여 key를 key의 값으로 대체하는 것도 꽤 좋은 방법이 될 것 같았습니다.

그러나 문법적인 문제가 있습니다.

1. 사전에서 키는 문자열로, 값은 int 데이터 유형으로 저장되어 이후 코드에서 혼동을 일으킵니다.

2. 글자가 숫자든 알파벳이든 분기하는 문장이 필요합니다.

3. 매개변수로 입력한 문자열 s는 변경할 수 없으므로 이 문자열에서 어떤 것도 변경하려고 시도해서는 안 됩니다.


위의 문제를 해결하기 위해 새로운 코드를 작성했습니다. dict의 모든 값은 문자열 데이터 유형으로 변환되었으며 결과라는 새로운 문자열 변수가 사용되었습니다. isdigit 및 isalpha 메서드를 사용하여 조건문을 추가했으며 결과는 결과 문자열에 개별적으로 누적됩니다.


일어나다! 엄청난.