본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2633] : Lower Bound

by 조원일 2020. 4. 10.
728x90

1. 문제

https://codeup.kr/problem.php?id=2633

 

Lower Bound

첫 줄에 한 정수 $n$과 찾고자 하는 값 $k$가 공백으로 구분되어 입력되고, 둘째 줄에 $n$개의 정수가 공백으로 구분되어 입력된다. (단, $2 <= n <= 100,000$ , 각 원소의 크기는 $100,000,000$을 넘지 않는다.)

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번에는 오른차순으로 정렬되어 있는 n개의 정수 배열중 처음으로 k이상인 수가 나오는 위치를 찾는 문제입니다.

출제 의도는 잘 모르겠지만 이번 문제는 배열을 만들지 않고 푸는 방법으로 코딩을 했습니다.

 

 

2. 풀이방법

STEP 1. 각 배열의 값을 받을때마다 k이상인지 확인

 

 

3. 해답

#include <stdio.h>

int main() {
	int n, k, p = -1;
	int tmp = 0;

	scanf("%d %d", &n, &k);

	for (int i = 0; i < n; i++) {
		scanf("%d", &tmp);
		// 처음으로 k보다 큰 수가 나오면
		if (tmp >= k && p == -1) p = i + 1;
	}
	if (p == -1) p = n + 1;

	printf("%d", p);
	return 0;
}

'프로그래밍 > CodeUp' 카테고리의 다른 글

CodeUp[Q_2640] : n의 k승 구하기 2  (0) 2020.04.17
CodeUp[Q_2635] : 약수의 합 (Large)  (0) 2020.04.11
CodeUp[Q_2631] : 보물 찾기  (0) 2020.04.09
CodeUp[Q_2629] : 광역시  (0) 2020.04.08
CodeUp[Q_2628] : 케익 자르기  (0) 2020.04.07