Code Signal -Arcade
코드시그널
아케이드 문제 관련 풀이들을 구글링하면서 찾아가는 일지를 하나씩하나씩 기록하고자 합니당.
주로 자바 위주로 풀이를 올릴예정이고, 추가로 공부하고 있는 파이썬이나 코틀린, GO, 자바스크립트 더 나아가 스위프트까지...
되는대로 가능한대로 구글링하고 정답맞추면 바로 패스!!
이런식으로 좋은 코드이든 말든 짜집기한 결과물들을 개인적 소장을 위해 기록합니다. ^^
참고 사이트들은 아래에 링크로 남겨둘터이니 자세하고 더욱 깊은 내용들은 링크로 들어가보세요!
Array Replace
배열 대체하기.. 재배치??
주어진 숫자배열에서 elemToReplace 의 값을 substitutionElem으로 대체하여 재배치 시켜라...
뭐 이런 내용입니다...
어떤 바꿀값을 선택하였고, 그 값을 어떠한 값으로 바꾸라는 것인데 그게 배열안에 있고.. 난감하고
.그런거죠..?
하지만 간단합니다.
이건 빨리품!
답안바로 볼께요.
int[] arrayReplace(int[] input, int changeNum, int whatChange) {
for(int i = 0; i< input.length; i++)
{ input[i] = input[i] == changeNum ? whatChange:input[i]; }
return input;
}
어떄요 ? 빠르죠?
반복문을 통해서 일단 쫘악 배열을 훑어줄 준비를 합니다.
그리고 나서 조건문을 통해서 input[i] 가 ChangeNum과 같은지 확인하고. ( input[i] == changeNum ? )
그조건이 맞다면 그 값을 whatChange로 바꿔주고 아니라면 그대로 냅두면 그만인겁니다. ㅎㅎ
끝..ㅋㅋ
간단했습니다. 하하하하하하 오랜만이다. 이런 문제.
하지만 방심은 금물 앨리트들은 한줄일수도 있으니깐 확인해볼께요.
JAVA
int[] arrayReplace(int[] inputArray, int elemToReplace, int substitutionElem) {
return Arrays.stream(inputArray)
.map(o -> o == elemToReplace ? substitutionElem : o)
.toArray();
}
ㅎ 제가 더 좋은거 같은뎅.. 아닌가..
이분은 stream 을 활용하셨네요. 방식은 똑같지만 사용하는 방법이 다른것을 썼을뿐 별 다른거는 없지만
더 좋아보이는건 무엇..?
JS
function arrayReplace(inputArray, elemToReplace, substitutionElem) {
return inputArray.map(i => i == elemToReplace ? substitutionElem : i)
}
이건 대체 뭐죠?;;; 한줄이라니! 이분은 바로 map을 사용하셨네요.
PYTHON3
def arrayReplace(i, e, s):
return [x if x!=e else s for x in i]
이런 썩을... 더 짧고 간단해.. 씸박하게.. 슬프다.
파이썬 승.
ㅋㅋㅋ
'Algorithm > Java' 카테고리의 다른 글
#26_Code Signal Arcade >> Even Digits Only (0) | 2019.11.30 |
---|---|
#24_Code Signal Arcade >> Mine Sweeper (0) | 2019.11.27 |
#23_Code Signal Arcade >> Box Blur (0) | 2019.11.26 |