inflearn logo
강의

講義

知識共有

it 就職のためのアルゴリズム問題プール入門 (with C/C++) : コーディングテスト対比

10. 桁数の合計

10번 자릿수의 합에서 질문이 있습니다.

276

coli

投稿した質問数 6

0

main 코드는 정답에 있는 그대로 작성하고 digit_sum만 제가 작성한것으로 돌렸는데 에러는 발생하지 않지만 실행이 안됩니다(print가 아예 안됩니다ㅠ)

int digit_sum(int x){
	int n, sum=0;
	for(;x>10;x/10){
		n = x%10;	
		sum += n;
	}
	sum += x%10;
	
	return sum;
}

어떤것에 문제가 생긴건가요? 

제가 의심되는 부분은 for문 (;;) 안에서 변화식을 x/10으로 작성한 부분이 걸립니다. 구글링으로 본 다른 코드에서는 for문에서 선언한 변수를 제어하는 부분이라고 i++과 비슷한 형태로만 작성되었더군요. 저는 단순히 for(반복문 돌리기전 초기 실행 ; 조건식 ; 1회 반복 후 실행) 으로 생각하고 작성했는데 혹시 for(;;)에서 작성할때 유의사항이 있나요?

다음은 전체 코드입니다.

#include <iostream>
using namespace std;

int digit_sum(int);
	
int main(){
	freopen("input.txt", "rt", stdin);
	int n, num, i, sum, max=-2147000000, res;
	scanf("%d", &n);

	for(i=0; i<n; i++){
		scanf("%d", &num);
		sum=digit_sum(num);
		if(sum>max){
			max=sum;
			res=num;
		}
		else if(sum==max){
			if(num>res) res=num;
		}
	}
	printf("%d\n",res);
	
	return 0;
}


int digit_sum(int x){
	int n, sum=0;
	for(;x>10;x/10){
		n = x%10;	
		sum += n;
	}
	sum += x%10;
	
	return sum;
}

C++ 코테 준비 같이 해요!

回答 1

0

777joonho8873

	for(;x>10;x/=10){
		n = x%10;	
		sum += n;
	}

x / 10 에서 오타가 나신거 같네요

x /= 10 으로 고쳐주시면 됩니다

테스트 케이스 질문

0

374

1

병합정렬 시간복잡도 질문

0

464

1

41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.

0

1351

2

질문드립니다.

0

378

1

질문드립니다!

0

432

1

dev 프로그램 질문

0

275

1

문제가 이해가 안되요

0

376

1

4번 나이차이 문제 접근법 질문 드립니다.

0

307

1

source file not compiled

0

1050

3

59번 질문드립니다.

0

373

1

25번 문제 질문

0

349

1

4. 나이차이 문제 질문입니다.

0

374

1

90번 라이언 킹 심바 1번 테스트 케이스

0

470

1

71번 문제 전역 변수 질문 있습니다

0

365

1

75번, 79번 priority_queue관련

1

356

1

75.최대 수입 스케줄

0

401

2

복면산 정답의 수

0

432

1

테스트 케이스에 대해서

0

447

1

수업 내용 질문입니다!

1

233

1

풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!

0

825

2

12. 플로이드-와샬(그래프 최단거리) . 27:25초

0

255

1

다른 풀이 방식

0

317

1

크루스칼 vs 프림

0

309

1

숫자 총개수 small 질문있습니다.

0

243

1