//10번 문제
#include <iostream>
#include <stdio.h>
using namespace std;
int digit_sum(int x){
int res = 0;
//10을 나눈 나머지는 첫번째 자릿수의 값을 구하는 방법
//그다음 10을 나눠서 다음 자릿수의 값을 구하도록함.
while(x != 0){
res += (x % 10);
x = x / 10;
}
return res;
}
int main() {
int N, x, sum, res ,max = -2147000000;
cin >> N;
for(int i = 0; i <N; i++){
cin >> x;
sum = digit_sum(x);
if(sum > max){
max = sum;
res = x;
}else if(sum == max){
if(x > res){
res = x;
}
}
}
cout << res;
}
//11번 문제
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
int N, tmp ,cnt = 0;
cin >> N;
for(int i = 1; i <= N; i++){
tmp = i;
while(tmp > 0){ // while문 활용을 잘 못한다...
tmp = tmp / 10;
cnt++;
}
}
cout << cnt;
return 0;
}
성찰
while문 활용을 너무 못한다...
for문에 익숙해져 있다 보니, while문을 잘 활용을 못해서 다른 방향으로만 생각하게 된다
정해져있는 숫자부터 ~ 정해져있는 숫자까지 반복한다가 아니라
특정 값에 변화를 줘서 특정 조건까지만 반복한다의 개념이 떠오른다면 while문을 활용해주자