メモ

yukicoderでゆるふわgolf

yukicoder No.676 C0nvertPr0b1em

問題はこちら
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