반응형
이번 문제는 문제 자체의 난이도보다는, 영어 단어를 세는 것 자체가 너무 짜증났던 문제입니다. 그리고 우리가 보통 사용하지 않는 'and'까지 쳐서 해주어야 하니까요.
답을 썼는데 계속 틀리다고 나와서, 왜 그런가 했더니, 제가 글자수 하나를 더 쳤네요. 18 과 80 때문에 둘다 그랬네요. 단순하게 8(eight) + 'teen' 과 8(eight) + 'ty' 로 해서 5+4, 5+2 했던 것이 문제였네요.
그냥 #1 부터 계속 풀어보자 생각했던터라, 이 문제를 풀고 싶지는 않았지만, 그냥 풀어 보았습니다.
#include <stdio.h>int main() { int wc[20] = { 0, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, 6, 8, 8, 7, 7, 9, 8, 8 }; int wct[20] = { 0, 0, 6, 6, 5, 5, 5, 7, 6, 6 }; int hundred = 7; int thousand = 8; int andword = 3; int sum = 0; for( int i = 1 ; i <= 1000 ; i++ ) { int t = i/1000; int h = (i/100)%10; int s = (i%100>=20)?(i/10)%10:0; int v = (i%100>=20)?i%10:i%100; int r = 0; if( t ) r += wc[t]+thousand; if( h ) r += wc[h]+hundred; if( s ) r += wct[s]; if( v ) r += wc[v]; if( (t | h) && (s | v) ) r += andword; sum += r; } printf("Ans = %d\n", sum); }
728x90
'Programming > Project Euler' 카테고리의 다른 글
19. 프로젝트 오일러 #19 : 20세기의 매달 1일이 일요일인 수 계산하기 (0) | 2015.01.17 |
---|---|
18. 프로젝트 오일러 #18 : 삼각형 수들의 최대값 경로 구하기 (0) | 2015.01.14 |
16. 프로젝트 오일러 #16 : 2의 1000승의 모든 자릿수 합 구하기. (0) | 2015.01.13 |
프로젝트 오일러 #15 격자 경로의 수 구하기 (0) | 2014.12.31 |
14. 프로젝트 오일러 #14 : 최대 체인을 가지는 우박수 구하기 (0) | 2014.12.30 |
댓글