상세 컨텐츠

본문 제목

[coding_test]음양 더하기

coding/coding_test

by golduny_zoo 2021. 5. 20. 14:40

본문

728x90

https://programmers.co.kr/learn/courses/30/lessons/76501

 

코딩테스트 연습 - 음양 더하기

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re

programmers.co.kr

문제를 처음 접할때 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 > coding_test' 카테고리의 다른 글

[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

관련글 더보기