白駿7785社の人解答(JAVA)
質問リンク
質問する
尚根は世界的なソフトウェア会社のGiggleで働いています.この会社の最大の特徴は自由な通勤時間です.そのため、従業員たちは9時から6時まで会社にいる必要はありません.
従業員一人一人が自分が望む時に出勤して、いつでも退勤することができます.
尚根にはすべての人がカードシステムに出入りするログがある.このログには、誰が会社に入ったのか、誰が外出したのかが記録されています.ログがある場合は、現在の会社のすべての人を救うプログラムを作成します.
入力
1行目は、ログに記録された出入り記録数nを与える.(2≦n≦106)ではn行に順次出入り記録が与えられ,各人の名前には「enter」または「leave」が与えられる.「enter」は出勤、「leave」は退勤です.
会社に同名の人はいませんが、大文字と小文字が異なる場合は別の名前です.人々の名前はアルファベットの大文字と小文字からなる5文字以下の文字列です.
しゅつりょく
現在、会社の人名は辞書順の逆順で1行印刷されています.
に答える
思ったより簡単です.出勤するときは社員の名前をスーツに入れ、退勤するときは消します.そしてリストで正しく並べ替えたら!
最初は直接リストに置いて、退勤して削除して、結局タイムアウトしました.いずれにしても、リストで探索するには時間がかかるようです.
ソースコード
質問する
尚根は世界的なソフトウェア会社のGiggleで働いています.この会社の最大の特徴は自由な通勤時間です.そのため、従業員たちは9時から6時まで会社にいる必要はありません.
従業員一人一人が自分が望む時に出勤して、いつでも退勤することができます.
尚根にはすべての人がカードシステムに出入りするログがある.このログには、誰が会社に入ったのか、誰が外出したのかが記録されています.ログがある場合は、現在の会社のすべての人を救うプログラムを作成します.
入力
1行目は、ログに記録された出入り記録数nを与える.(2≦n≦106)ではn行に順次出入り記録が与えられ,各人の名前には「enter」または「leave」が与えられる.「enter」は出勤、「leave」は退勤です.
会社に同名の人はいませんが、大文字と小文字が異なる場合は別の名前です.人々の名前はアルファベットの大文字と小文字からなる5文字以下の文字列です.
しゅつりょく
現在、会社の人名は辞書順の逆順で1行印刷されています.
に答える
思ったより簡単です.出勤するときは社員の名前をスーツに入れ、退勤するときは消します.そしてリストで正しく並べ替えたら!
最初は直接リストに置いて、退勤して削除して、結局タイムアウトしました.いずれにしても、リストで探索するには時間がかかるようです.
ソースコード
import java.util.*;
import java.io.*;
public class Main{
public static void main(String [] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
final int NUMBER_OF_INPUT = Integer.parseInt(br.readLine());
Set<String> company = new HashSet<String>();
for(int i=0;i<NUMBER_OF_INPUT;i++) {
st = new StringTokenizer(br.readLine());
String name = st.nextToken();
String activity = st.nextToken();
if(activity.charAt(0)=='e') {
company.add(name);
}else {
company.remove(name);
}
}
List<String> companyList = new ArrayList<String>(company);
companyList.sort(Comparator.reverseOrder());
for(String k : companyList) {
sb.append(k);
sb.append("\n");
}
bw.write(sb.toString());
bw.flush();
br.close();
bw.close();
}
Reference
この問題について(白駿7785社の人解答(JAVA)), 我々は、より多くの情報をここで見つけました https://velog.io/@phjppo0918/백준-7785-회사에-있는-사람-문제풀이-JAVAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol