반응형
https://www.acmicpc.net/problem/13580
정렬 후 if문을 사용해보는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
세 credit을 입력할 일차원 배열 a를 선언 후 입력해줍니다.
📔 풀이과정
1. a의 credit들을 오름차순으로 정렬해줍니다.
2. 다시 돌아오기 위해서는 두 수가 같으면 됩니다. 하나의 수는 어떤 두 수의 합으로도 표현되므로 3가지의 경우를 봐주면 됩니다.
2-1. a[0] == a[1]
3 3 4인 경우 돌아올 수 있으므로 이에 해당합니다.
2-2. a[1] == a[2]
3 4 4인 경우가 이에 해당합니다.
2-3. a[0] + a[1] == a[2]
1 2 3인 경우가 이에 해당합니다. 1, 2각각 년 수 만큼 미래로 간 뒤 3년 후 과거로 돌아오면 현재로 올 수 있습니다.
📔 정답출력
2번 조건들에 해당하는 경우 S를 아닌경우 N을 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int a[3];
int main(){
for(int i = 0; i < 3; i++) cin >> a[i];
sort(a, a + 3);
if(a[0] == a[1] || a[1] == a[2] || a[0] + a[1] == a[2]) cout << "S";
else cout << "N";
}
'Algorithm > Sorting' 카테고리의 다른 글
(C++) - 백준(BOJ) 14729 : 칠무해 (5) | 2022.04.19 |
---|---|
(C++) - 백준(BOJ) 16212 : 정열적인 정렬 (1) | 2022.04.11 |
(C++) - 백준(BOJ) 20976 : 2 番目に大きい整数 (The Second Largest Integer) (0) | 2021.11.11 |
(C++) - 백준(BOJ) 18411 : 試験 (Exam) (0) | 2021.11.03 |
(C++) - 프로그래머스(위클리 챌린지) : 8주차_최소직사각형 (0) | 2021.10.22 |