Question
Given an array of integers, replace all the occurrences of elemToReplace
with substitutionElem
.
Example
For inputArray = [1, 2, 1]
, elemToReplace = 1
, and substitutionElem = 3
, the output should be
arrayReplace(inputArray, elemToReplace, substitutionElem) = [3, 2, 3]
.
Input/Output
[execution time limit] 4 seconds (py3)
[input] array.integer inputArray
Guaranteed constraints:
0 ≤ inputArray.length ≤ 104
,0 ≤ inputArray[i] ≤ 109
.[input] integer elemToReplace
Guaranteed constraints:
0 ≤ elemToReplace ≤ 109
.[input] integer substitutionElem
Guaranteed constraints:
0 ≤ substitutionElem ≤ 109
.[output] array.integer
MY_ANSWER
def arrayReplace(inputArray, elemToReplace, substitutionElem):
answer = []
for i in inputArray:
if i != elemToReplace:
answer.append(i)
else:
answer.append(substitutionElem)
return answer
- elemToReplace의 값을 substitutionElem으로 바꾸는 문제
- elemToReplace값이 아니면 그대로 inputArray의 i 값을 append, elemToReplace값이면 substitutionElem으로 대체
Best_ANSWER
def arrayReplace(inputArray, elemToReplace, substitutionElem):
return [x if x!=elemToReplace else substitutionElem for x in inputArray]
- list comprehension과 if ~ else 구문을 동시에 사용하여 코드를 줄였다.