A. 금일 학습 내용
1. 코딩 테스트 문제
어떤 정수들이 있다.
이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와
이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어진다.
제한사항
- absolutes의 길이는 1 이상 1,000 이하이다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하이다.
- signs의 길이는 absolutes의 길이와 같다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미한다.
실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성하라.
def solution(absolutes, signs):
answer = 0
for i in range(len(absolutes)):
if signs[i] is True:
answer += absolutes[i]
else:
answer -= absolutes[i]
return answer
- 오늘의 코딩 테스트 문제였다.
- 어렵지 않게 풀었지만 다른 사람들의 코드를 살펴보니 zip() 함수를 많이 사용하였다.
-- 타인 코드1)
def solution(absolutes, signs):
return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))
-- 타인 코드2)
def solution(absolutes, signs):
answer=0
for absolute,sign in zip(absolutes,signs):
if sign:
answer+=absolute
else:
answer-=absolute
return answer
2. zip() 함수
- 정의: 동일한 개수(=길이가 같음)로 이루어진 자료형을 묶어주는 역할을 하는 내장함수이다.

- 데이터는 위와 같은 형태이다.
- absolutes의 길이가 3이고 signs의 길이 또한 3임으로 zip()함수를 사용할 수 있다.
- 사용한다면 아래와 같이 리스트 형태의 결과가 나온다.

2. 두 변수의 자료형이 다르다면 어떤 결과가 나올까.
a = [1,2,3,4,5,6]
b = 'python'
list(zip(a,b))
- a변수는 리스트 형태, b변수는 문자열 형태로 zip함수를 사용해보았다.

- 소괄호로 묶인 튜플 형태로 반환되는 것을 알 수 있다.
B. 마무리
- 튜플로 묶이는 이유는 무엇인지 궁금하다
- 내장함수는 얼마나 많이 있는 것일까.
'Today I Learned' 카테고리의 다른 글
| [내일배움캠프_데이터분석] 6주차 목요일 TIL _ 구조 생각하기 (0) | 2024.08.01 |
|---|---|
| [내일배움캠프_데이터분석] 6주차 수요일 TIL (0) | 2024.07.31 |
| [내일배움캠프_데이터분석] 6주차 월요일 TIL _ 가상환경(2) (0) | 2024.07.29 |
| [내일배움캠프_데이터분석] 5주차 금요일 TIL _ 피벗테이블 (0) | 2024.07.26 |
| [내일배움캠프_데이터분석]5주차 목요일 TIL _ 가상환경 (0) | 2024.07.25 |