ABC
B - Uppercase and Lowercase

B - Uppercase and Lowercase

解説

問題 (opens in a new tab)

SS の大文字と小文字を数えて、多い方に対応する操作をするだけ。

C++の場合は、islowerisupper で大文字小文字の判定を行うことができる。

これらの関数と、tolowertoupper を使う場合は、引数が string ではなく char であることに注意する。

提出コード

  • Go
func main() {
	s := readString()
	up := 0
	low := 0
	for i := 0; i < len(s); i++ {
		if 'a' <= s[i] && s[i] <= 'z' {
			low++
		} else {
			up++
		}
	}
	if up > low {
		writeLine(strings.ToUpper(s))
	} else {
		writeLine(strings.ToLower(s))
	}
}
  • C++
int main() {
    string s; cin >> s;
    int lower = 0, upper = 0;
    string ans = "";
    rep(i,0,s.size()) {
        if (islower(s[i])) lower++;
        else upper++;
    }
    if (lower > upper) {
        rep(i,0,s.size()) {
            ans += tolower(s[i]);
        }
    } else {
        rep(i,0,s.size()) {
            ans += toupper(s[i]);
        }
    }
    cout << ans << endl;
}