#include <stdio.h>
int solve(char n[], char k) {
if (n[0] < k) {
return n[1] < k ? 0 : 1;
}
else if (n[0] == k) {
return (n[0]-'0') + (n[1] < k ? n[1]-'0'+1 : k-'0'+2);
}
else { // n[0] > k
return (n[0]-'0') + 10 + (n[1] < k ? 0 : 1);
}
}
int main(void) {
printf("%d ", solve("30", '1'));
}
이 문제는 n의 10의자리수가 k보다 작을때, 같을때, 클때를 나누면 쉽게 풀린다고 생각함. 그렇기 때문에 자리수를 맞추기 위해 n이 10보다 작을 경우 앞에 0을 집어넣는 삽질을 추가해야 하지만 구현은 안함 ㅡㅡ;
마이크로최적화 좋아하는 프갤러가 등장한다면 아마 n과 k비교하는거를 int타입으로 해결할 수 있을거라 생각 ㅡㅡㅋ 나는 C언어 안한지 너무 오래돼서 잘 모르겠지만...
아래에 풀린답안 잇네 ㅎ