코딩테스트
프로그래머스_1단계_음양 더하기_C++
코딩기계
2024. 4. 11. 22:41
문제풀이:3번풀이가 최적화 된 코드이다
최적화 안된거같으니까 삼항연산자 활용해보자
문제풀이1
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> absolutes, vector<bool> signs) {
int answer = 0;
for( int i=0; i<absolutes.size(); i++)
{
if(signs[i]==false)
{
answer-= absolutes[i];
}
else
{
answer+= absolutes[i];
}
}
return answer;
}
문제풀이2: 순서 바꿔주면 ==false 또한 뺄수있다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> absolutes, vector<bool> signs) {
int answer = 0;
for( int i=0; i<absolutes.size(); i++)
{
signs[i]==false ?answer-= absolutes[i] : answer+= absolutes[i];
}
return answer;
}
문제풀이3
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> absolutes, vector<bool> signs) {
int answer = 0;
for( int i=0; i<absolutes.size(); i++)
{
signs[i] ?answer+= absolutes[i]: answer-= absolutes[i];
}
return answer;
}