n 이랑 k 입력하고
n의 약수중 k 번째 출력하는게 문제인데
#include <iostream>
using namespace std;
int PRINT(int n, int k) {
int count = 0;
for (int i = 1; k != 0; i++) {
if (n % i == 0) {
k--;
count++;
}
}
return count;
}
int main() {
int n, k;
cin >> n >> k;
cout << PRINT(n, k);
return 0;
}
이게 내가 짠 코드거든?? 근데 자꾸 시간초과 나서 인터넷 좀 찾아봤는데
나랑 비슷한 코드 있더라고
근데 그건 또 시간초과가 안나와
#include<iostream>
#include<cstdio>
using namespace std;
int Solution(int n, int k){
for(int i=1; i<=n; i++){
if(n%i ==0){
k--;
if(k==0) return i;
}
}
return 0;
}
int main(void){
int n;
int k;
cin >> n >> k;
printf("%d", Solution(n,k));
return 0;
}
이게 그 사람 코드인데
나랑 엄청 막 다른거같지는 않거든?
그런데 이사람은 어뜨캐 시간초과 안나온거임??
For문에 k!=0를 왜쳐넣음 ㅇㅅㅇ 거기서 무한루프걸린거같은데
잉
그건가 ㅋㅋㅋㅋㅋ
if (k == 0) return i;를 해줘야지
return 0으로 바꾸고 적어준대로 함 해봤는데도 시간초과가 나오네 머땜에그런거람
니 코드랑 그 사람 코드랑 근본적으로 하는 일이 다름 ㅇㅅㅇ
저사람 함수 구현부 그대로 긁어도 시간초과 나오는걸
문제링크를 올리지