문제 : https://www.acmicpc.net/problem/4641
[ 알고리즘 ]
입력은 1 ~ 99 숫자 중 겹치지 않게 2 ~ 15 개의 숫자가 들어옵니다.
따라서 1 ~ 99 숫자를 check 해 줄 bool 배열을 선언해 list에 들어온 input을 check하고,
list를 순회하며 자기 자신의 2배가 list 안에 있는지 count 하면 됩니다.
#include<iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
while(1){
int count = 0;
int list[16] = {};
bool check[100] = {};
cin >> list[0];
if (list[0] == -1)
break;
check[list[0]] = true;
for (int i = 1; i < 16; i++) {
cin >> list[i];
check[list[i]] = true;
if (list[i] == 0)
break;
}
for (int i = 1; i < 50; i++)
if (check[i] && check[2 * i])
count++;
cout << count << '\n';
}
}
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 18245 : 이상한 나라의 암호 - travelbeeee (0) | 2020.01.17 |
---|---|
[BOJ] 1919 : 애너그램 만들기 - travelbeeee (0) | 2020.01.16 |
[BOJ] 1213 : 팰린드롬 만들기 - travelbeeee (0) | 2020.01.02 |
[BOJ] 18249 : 욱제가 풀어야 하는 문제 - travelbeeee (0) | 2019.12.30 |
[BOJ] 18247 : 겨울왕국 티켓 예매 - travelbeeee (0) | 2019.12.30 |