結果
| 問題 | No.279 木の数え上げ |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-05-27 19:26:18 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 287 ms / 2,000 ms |
| コード長 | 1,318 bytes |
| 記録 | |
| コンパイル時間 | 3,502 ms |
| コンパイル使用メモリ | 75,932 KB |
| 実行使用メモリ | 45,868 KB |
| 最終ジャッジ日時 | 2024-06-28 19:08:54 |
| 合計ジャッジ時間 | 7,690 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 |
ソースコード
import java.util.*;
import java.util.stream.Stream;
// ***問題文***kamipeipaa君は木が大好きですが,今日は文字列で遊んでいます。
// kamipeipaa君は文字列Sを並び替えたときに"tree"という部分文字列をいくつ作ることが可能か興味があります。
// 教えてあげてください。
// ***入力***
// S
// kamipeipaa君が持つ英字小文字のみからなる文字列S(1≤|S|≤106)が1行で与えられる。
// ***出力***
// Sを自由に並び替えたときに作ることができる"tree"という部分文字列の数の最大値を1行で出力してください。
// 改行を忘れないこと。
public class No279 {
public static void main(String[] args) {
// 標準入力から読み込む際に、Scannerオブジェクトを使う。
Scanner sc = new Scanner(System.in);
String s = sc.next();
int[] sa = new int[3];
for(int i = 0; i < s.length(); i++) {
// System.out.println(s.charAt(i));
// if("t".equals(s.charAt(i))) {
if('t' == s.charAt(i)) {
sa[0] += 1;
} else if('r' == s.charAt(i)){
sa[1] += 1;
} else if('e' == s.charAt(i)) {
sa[2] += 1;
}
}
for(int i = 0; i < 3; i++) {
// System.out.println(sa[i]);
}
System.out.println(Math.min(Math.min(sa[0], sa[1]), sa[2] / 2));
}
}