on my way
[GDSC Week1-4] 백준 1448번:: 삼각형만들기 (C++) 본문
반응형
* 생각한 아이디어 및 문제 풀이
삼각형의 조건은 가장 큰 변의 길이 < 나머지 두 변의 길이합이다.
즉, 모든 값을 벡터로 입력받고, 내림차순으로 정렬한 후 가장 앞의 세 값으로 삼각형이 만족되는지 확인하면 된다.
* 코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char const *argv[]){
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int N, input;
vector<int> v;
cin >> N;
for(int i=0; i<N; i++){
cin >> input;
v.push_back(input);
}
sort(v.begin(), v.end(), greater<>());
int i=0;
while(1){
if (v[i] < v[i+1]+v[i+2]){
cout << v[i]+v[i+1]+v[i+2] << '\n';
break;
}
i++;
if (i+2 >= N) {
cout << -1 <<'\n';
break;
}
}
}
* 회고
나는 벡터가 편해서 벡터로 자주 문제를 풀이하였는데
메모리 적으로 그닥 좋지는 않은 것 같다.
* 문제 링크
https://www.acmicpc.net/problem/1448
1448번: 삼각형 만들기
첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다
www.acmicpc.net
반응형
'algorithm > C++' 카테고리의 다른 글
[GDSC Week2-1] 백준 10828번:: 스택 (C++) (0) | 2021.10.11 |
---|---|
카카오 공채 코딩테스트:: 압축 (C++) (0) | 2021.10.09 |
[GDSC Week1-3] 백준 11582번:: 치킨 TOP N (C++) (0) | 2021.10.03 |
[GDSC Week1-2] 백준 10610번:: 30 (C++) (0) | 2021.10.03 |
[GDSC Week1-1] 백준 11931번:: 수정렬하기4 (C++) (0) | 2021.10.03 |