結果
問題 |
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)); } }