강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김혁수님의 프로필 이미지
김혁수

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

9. 모두의 약수(제한시간 1초)

9. 모두의 약수 관련 질문입니다

작성

·

296

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

#include <iostream> int main() { int array[50000]; int a; scanf("%d",&a); for (int i = 1; i <= a; i++){ for (int j = i; j <= a; j=j+i){ array[j]++; } } for (int i = 1; i <= a; i++) { printf("%d ",array[i]); } return 0; }

다음과 같이 코딩을 작성했는데 Time limited 오류가 발생합니다ㅠㅠ 어디가 문제인거죠?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

int array[50001]로 해서 전역변수로 잡으세요. 50000번 인덱스 번호가 생겨야 합니다.

#include <iostream> 
int array[50001]; 
int main() { 
	int a; 
	scanf("%d",&a); 
	for (int i = 1; i <= a; i++){ 
		for (int j = i; j <= a; j=j+i){ 
			array[j]++; 
		} 
	} 
	for(int i = 1; i <= a; i++) { 
		printf("%d ",array[i]);
	} 
	return 0; 
}

다음 부터 코드를 올리실 때는 {;} 버튼을 이용해서 위에 저처럼 보기 좋게 올려주시면 감사하겠습니다.

김혁수님의 프로필 이미지
김혁수
질문자

넵 감사합니다!

김혁수님의 프로필 이미지
김혁수

작성한 질문수

질문하기