본문 바로가기
C#/프로그래머스

[프로그래머스] C# : 음양 더하기

by TODAYCODE 2021. 8. 2.
반응형

프로그래머스 코딩테스트 연습 Level 1 - 음양 더하기

 

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

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

programmers.co.kr

문제의 핵심

1. 두가지 배열에 나뉜 정보를 합산하기

2. 조건에 따라서 정수형 부호 바꾸기

 


 

for문 돌려서 각 배열의 정보를 얻어오고,

if문을 사용해서 참,거짓에 따라서 -1을 곱하고

계속 더해주면 되는 간단한 문제이다.

 

간단한 문제이니까 더 간단하게 코드를 압축해보자.

 

조건연산자를 사용해주면 if문을 사용하지 않고

단 한줄만에 알아서 -1을 곱하면서 더해주는 코드를 작성 할 수 있다.

 

이런 쉬운 문제들을 통해서

조건 연산자같은 독특한 문법에 익숙해지도록 노력하자

 

조건 연산자를 잘 모르겠다면,

이전 포스팅을 참고하도록 하자.

 

C# : 조건 연산자

입력 방식 조건식 ? 참의 값 : 거짓의 값 int a = 30; string result = a == 30 ? "삼십" : "삼십아님"; == : 조건식 "삼십" : 참의 값 "삼십아님" : 거짓의 값 using System; namespace ConditionalOperator { cl..

coding-of-today.tistory.com

 

 

 

 

정답 코드

using System;

public class Solution
    {
        public int solution(int[] absolutes, bool[] signs)
        {
            int answer = 0;
            
            for (int i = 0; i < absolutes.Length; i++)
            {
            		// answer에 absolutes원소들을 더해주는데 각 원소는
            		// signs[i]의 참거짓에 따라서, 그냥 더해지거나 -1을 곱해서 음수로 더해짐
                answer += absolutes[i] = signs[i] ? absolutes[i] : absolutes[i]*-1;
            }
            
            return answer;
        }
    }

 

 

반응형

댓글