https://programmers.co.kr/learn/courses/30/lessons/76501
문제를 처음 접할때 signs에 들어있는 [true,false, true]는 문자열 처리도 아니라서
그 자체로 사용하는 True False문으로 들어올것이라고 생각을 했다.
(java와 c 는 true, false로도 사용이 가능하다.)
그러므로 zip으로 2개의 파라미터를 묶어
그에 맞는 처리를 해주어야겠다고 생각하여 풀었다.
def solution(absolutes, signs):
answer = 0
for i,j in zip(absolutes, signs):
if j == False:
i= -i
answer += i
return answer
다른사람의 풀이를 보았을 때
함수를 한줄로 사용한 것을 보고 굉장히 놀랐다.
리스트 내포를 사용하면서 줄을 짧게 줄일 수 있는 부분이 놀라웠다.
def solution(absolutes, signs): return sum(absolutes[i] * (1 if signs[i] else -1) for i in range(len(signs)))
함수의 새로운 사용법을 익히게 되었다.
[coding_test]기능개발 (0) | 2021.05.25 |
---|---|
[coding_test]더 맵게 (0) | 2021.05.24 |
[coding_test]로또의 최고 순위와 최저 순위 (0) | 2021.05.20 |
리눅스 마스터 2급 문제(21~30) (0) | 2021.05.13 |
[coding_test]오픈채팅방 (0) | 2021.05.13 |