홍시홍의 프로그래밍

[백준 1059] 수2 본문

알고리즘 문제풀이/백준

[백준 1059] 수2

홍시홍 2020. 3. 20. 22:12

요구사항

구간 중 주어진 배열은 포함되지 않고 k는 포함된 구간은 몇개인지 출력

 

풀이

문제 예시가 빈약한 듯 하다

[a, b] 구간 중 k가 포함 되기 위해서는 

a <= k  && b>=k를 만족하여야 한다.

 

#include <iostream>
#include <algorithm>
using namespace std;
int n;
int map[51];
int target;
int main() {
	int minv = 0;
	int maxv = 0;
	int flag = 0;
	int flagget = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d", &map[i]);
	}
	scanf("%d", &target);
	sort(map, map + n);
	minv = 1;
	maxv = map[0];
	
	for (int i = 0; i < n-1; i++) {
		if (map[i] < target && map[i + 1] >target) {
			minv = map[i];
			maxv = map[i + 1];
			flag = 1;
			break;
		}
		if (flag == 1) break;
	}
	int ans = 0;
	if (flag == 1) {
		for (int i = minv + 1; i < maxv; i++) {
			for (int j = i + 1; j < maxv; j++) {
				if (i <= target) {
					if (j >= target) {
						ans++;
					}
				}
			}
		}
	}
	else {
		for (int i = 1; i < maxv; i++) {
			for (int j = i + 1; j < maxv; j++) {
				if (i <= target) {
					if (j >= target) {
						ans++;
					}
				}
			}
		}
	}
	cout << ans << endl;
}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 1924] 2007년  (0) 2020.03.20
[백준 2870] 수학숙제  (0) 2020.03.20
[백준 2839] 설탕 배달  (0) 2020.03.20
[백준 10871] X보다 작은 수  (0) 2020.03.19
[백준 9498] 시험 성적  (0) 2020.03.19
Comments