728x90
출처
https://www.acmicpc.net/status?user_id=xortl98&problem_id=2960&from_mine=1
내 풀이
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[10001];
int N, K;
int count = 0;
cin >> N >> K;
//2부터 10까지 1로 만들어줍니다
for (int i = 2; i <= N; i++) {
a[i] = 1;
}
//2부터 배수를 구해 나가면서 1로 되어있으면 0으로 바꿔줍니다. 그리고 카운트 증가
for (int i = 2; i <= N; i++) {
for (int j = 1; i * j <= N; j++) {
if (a[i * j] == 1) {
a[i * j] = 0;
count++;
//카운트가 K와 같아졌을 때의 i*j 곱 출력
if (count == K) {
cout << i * j << endl;
return 0;
}
}
}
}
}
해설
인터넷에 있는 한 블로그를 참고해서 풀어보았습니다.
느낀점
내꺼는 왜 시간초과인지 잘모르겠다.
'백준 코딩테스트 > 실버' 카테고리의 다른 글
11931) 수 정렬하기 4 (C++) (0) | 2022.06.03 |
---|---|
1158) 요세푸스 문제 (C++) (0) | 2022.06.03 |
11659) 구간 합 구하기 4 (C++) (0) | 2022.05.25 |
3036) 링 (C++) (0) | 2022.05.24 |
1934) 최소공배수 (C++) (0) | 2022.05.23 |