티스토리 뷰
Mutations
We have seen that lists are mutable (they can be changed), and tuples are immutable (they cannot be changed).
Let's try to understand this with an example.
You are given an immutable string, and you want to make changes to it.
Example
>>> string = "abracadabra"
You can access an index by:
>>> print string[5]
a
What if you would like to assign a value?
>>> string[5] = 'k'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
How would you approach this?
- One solution is to convert the string to a list and then change the value.
Example
>>> string = "abracadabra"
>>> l = list(string)
>>> l[5] = 'k'
>>> string = ''.join(l)
>>> print string
abrackdabra
- Another approach is to slice the string and join it back.
Example
>>> string = string[:5] + "k" + string[6:]
>>> print string
abrackdabra
Task
Read a given string, change the character at a given index and then print the modified string.
Function Description
Complete the mutate_string function in the editor below.
mutate_string has the following parameters:
- string string: the string to change
- int position: the index to insert the character at
- string character: the character to insert
Returns
- string: the altered string
Input Format
The first line contains a string, string.
The next line contains an integer position, the index location and a string character, separated by a space.
Sample Input
STDIN Function
----- --------
abracadabra s = 'abracadabra'
5 k position = 5, character = 'k'
Sample Output
abrackdabra
문제해석
input으로 아래처럼 3개의 값이 입력된다. string에서 position에 위치한 특정 문자를 character값으로 변경하여 출력하면 된다.
1. string : 전체 문자열
2. position : 3번째 인자인 character값이 입력될 자리
3. character : 입력할 문자
문제풀이
문제에서 문자열을 리스트로 변경하여 풀거나 아래처럼 slice 구문을 사용하여 푸는 것이 가능하다고 하였다.
def mutate_string(string, position, character):
return string[:position] + character + string[position+1:]
if __name__ == '__main__':
s = raw_input()
i, c = raw_input().split()
s_new = mutate_string(s, int(i), c)
print s_new
'Programming > Python' 카테고리의 다른 글
[Python/Hackerrank] Strings > String Validators (0) | 2021.12.09 |
---|---|
[Python/Hackerrank] Strings > Find a string (0) | 2021.12.08 |
[Python/Hackerrank] Strings > What's Your Name? (0) | 2021.12.08 |
[Python/Hackerrank] Strings > String Split and Join (0) | 2021.12.08 |
[Python/Hackerrank] Strings > sWAP cASE (0) | 2021.12.08 |
- Total
- Today
- Yesterday
- 동국알앤에스
- 테슬라
- HK이노엔
- SQL Server
- MSSQL
- 대원화성
- list
- 매매일지
- 분석탭
- 넥스트BT
- python
- insert
- 몰누피라비르
- string
- Weather Observation Station
- DATABASE
- hackerrank
- 리비안
- 넷플릭스
- 코로나19
- MS SQL Server
- python3
- tensorflow
- mysql
- 에코캡
- Tableau
- 미중무역전쟁
- TSQL
- 해커랭크
- 경구치료제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |