問題はこちら
No.676 C0nvertPr0b1em - yukicoder
指示通り実装するだけ
char s[1010]; main(){ scanf("%s",s); for(int i=0;s[i];i++){ if(s[i]=='l'||s[i]=='I')putchar('1'); else if(s[i]=='o'||s[i]=='O')putchar('0'); else putchar(s[i]); } }
readとgetcharのどちらを使うか問題だが、今回は~getchar()の方が扱いやすい値になった。
'I'と'l'は73と108なので反転すると-74と-109。c%35+4で判別できる
'o'と'O'は79と111なので反転すると-80と-112。C%16で判別できる
main(c){for(;c=~getchar();)putchar(c%35+4?c%16?~c:48:49);}
58B