mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ
  • ๋ฐฑ์ค€
  • c++
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • Python
  • DevOps
  • SQL ๊ณ ๋“์  Kit
  • SQL
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

๋ฐฑ์ค€ 9753 _ ์ง ๊ณฑ
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 9753 _ ์ง ๊ณฑ

2020. 9. 16. 15:20
728x90

www.acmicpc.net/problem/9753

 

9753๋ฒˆ: ์ง ๊ณฑ

์ •์ˆ˜ K (1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, K๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์ˆ˜์˜ ๊ณฑ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ๊ณฑ์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net


โœจ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

#include<iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	
	int vec[50002];
	vector<int> v;
	for (int i = 0; i <= 50001; i++) {
		vec[i] = i; 
	}

	//์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ _ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด
	for (int i = 2; i <= 50001; i++) { 
		if (vec[i] == 0) { 
			continue; 
		} 
		else {
			v.push_back(vec[i]);
		}
		for (int j = 2; j*vec[i] <= 50001; j++) {
			vec[j*vec[i]] = 0; 
		} 
	}
	
	vector<int> mul;

	//์†Œ์ˆ˜๋“ค์˜ ๊ณฑ ์ €์žฅ
	for (int i = 0; i < v.size(); i++) {
		for (int j = i + 1; j < v.size(); j++) {
			mul.push_back(v[i] * v[j]);
		}
	}
	
    //์ €์žฅํ•œ ์†Œ์ˆ˜์˜ ๊ณฑ์„ ์ •๋ ฌ
	sort(mul.begin(), mul.end());

	int T;
	cin >> T;
	while (T--) {
		int K;
		cin >> K;
		int answer;
	
    	//์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ์›ํ•˜๋Š” ๊ฐ’ ์ฐพ๊ธฐ
		int low = 0, high = mul.size() - 1;

		while (low <= high) {
			int mid = (low + high) / 2;
			if (mul[mid] >= K) {
				answer = mid;
				high = mid - 1;
			}
			else
				low = mid + 1;
		}
		cout << mul[answer]<<'\n';

	}

	return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

์ •์ˆ˜ K (1 ≤ K ≤ 100,000)๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์ˆ˜์˜ ๊ณฑ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์—

50,001๊นŒ์ง€์˜ ์†Œ์ˆ˜๋งŒ ๊ตฌํ•˜๋ฉด 2์™€ ๊ณฑํ•ด์งˆ ๊ฒฝ์šฐ, 100,000๋ณด๋‹ค ์ปค์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์˜€๋‹ค

 

50,001 ๊นŒ์ง€์˜ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ์ €์žฅ์„ ํ•ด๋†“๊ณ 

์†Œ์ˆ˜๋“ค์˜ ๊ณฑ์„ ์ €์žฅํ•˜์—ฌ ์ด๋ถ„ํƒ์ƒ‰์„ ํ†ตํ•ด K๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜์˜€๋‹ค

 

โญ ๋ฌธ์ œ ํ’€์ด ๊ฒฐ๊ณผ

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 11047 _ ๋™์ „ 0
    • ๋ฐฑ์ค€ 1620 _ ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ
    • ๋ฐฑ์ค€ 9934 _ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ
    • ๋ฐฑ์ค€ 9095 _ 1, 2, 3 ๋”ํ•˜๊ธฐ
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”