Daily Tech 먹방

4/2(화) 오늘의 코테 1 - 음양 더하기 본문

코테

4/2(화) 오늘의 코테 1 - 음양 더하기

Amazing 따봉도치 2024. 4. 2. 11:28

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정답코드

 

def solution(absolutes, signs):
    # 각 숫자의 부호를 반영하여 절댓값을 계산하는 함수입니다.
    
    for s in range(len(absolutes)):
        # 만약 부호가 False라면 해당 숫자를 음수로 변환합니다.
        if signs[s] == False:
            absolutes[s] *= -1
        else:
            # 부호가 True라면 숫자를 그대로 두고 변화 없습니다.
            absolutes[s] *= 1

    # 모든 숫자를 합하여 결과를 반환합니다.
    answer = sum(absolutes)

    return answer

 

 signs 배열의 요소를 사용하여 특정 연산을 수행하려 할 때, 이 값들이 불리언(Boolean) 타입이라는 사실을 기억해야 합니다.

 

 

응용하기

 

# 예를 들어, numbers 배열과 signs 배열이 주어진다고 가정합니다.

numbers = [1, 2, 3, 4, 5]
signs = [True, False, True, False, True]

# 결과를 저장할 배열
result = []

# numbers 배열과 signs 배열을 동시에 반복하면서,
# signs의 값에 따라 numbers의 각 요소를 양수 또는 음수로 변환합니다.
for number, sign in zip(numbers, signs):
    # sign 값이 True면, number를 양수로 처리
    # sign 값이 False면, number를 음수로 처리
    if sign:
        result.append(number)  # True인 경우, 원래의 숫자를 결과에 추가
    else:
        result.append(-number)  # False인 경우, 숫자의 부호를 바꿔 결과에 추가

# 결과 출력
print(result)  # [1, -2, 3, -4, 5]와 같은 결과를 기대함