[실버 5] 7785번 회사에 있는 사람

2023. 9. 22. 22:43·Coding Test/백준[JAVA]
목차
  1. 문제
  2. 코드

문제 링크 : https://www.acmicpc.net/problem/7785

문제

상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다.

각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다.

상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 출근, "leave"인 경우는 퇴근이다.

회사에는 동명이인이 없으며, 대소문자가 다른 경우에는 다른 이름이다. 사람들의 이름은 알파벳 대소문자로 구성된 5글자 이하의 문자열이다.

출력

현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다.

예제 입력
4
Baha enter
Askar enter
Baha leave
Artem enter

예제 출력
Askar
Artem

코드

import java.io.*;
import java.util.*;
public class num7785 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(br.readLine()); // 출입 기록의 수
HashMap<String, String> map = new HashMap<String, String>();
for(int i=0; i<n; i++) {
st = new StringTokenizer(br.readLine());
String name = st.nextToken();
String state = st.nextToken();
if(map.containsKey(name)) map.remove(name);
else map.put(name, state);
}
List<String> list = new ArrayList<String>(map.keySet());
list.stream().sorted(Comparator.reverseOrder()).forEach(s -> System.out.println(s));
}
}
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > 백준[JAVA]' 카테고리의 다른 글

[실버 4] 1620번 나는야 포켓몬 마스터 이다솜  (0) 2023.09.22
[실버 4] 10816번 숫자 카드 2  (0) 2023.09.22
[실버 5] 10815번 숫자 카드  (1) 2023.09.22
[실버 3] 14425번 문자열 집합  (0) 2023.09.22
[실버 5] 10814번 나이순 정렬  (0) 2023.09.05
  1. 문제
  2. 코드
'Coding Test/백준[JAVA]' 카테고리의 다른 글
  • [실버 4] 1620번 나는야 포켓몬 마스터 이다솜
  • [실버 4] 10816번 숫자 카드 2
  • [실버 5] 10815번 숫자 카드
  • [실버 3] 14425번 문자열 집합
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (827) N
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (443) N
        • 백준[JAVA] (106) N
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    리눅스
    스프링부트
    시큐리티
    리눅스마스터 1급
    Flutter
    리눅스마스터
    python
    CS
    자바
    플러터
    postgresql
    데이터
    JPA
    Java
    programmers
    Oracle
    데이터베이스
    Linux
    Spring Security
    스프링 부트 쇼핑몰 프로젝트 with JPA
    pcce 기출문제
    DB
    backjoon
    스프링
    CS지식
    spring
    백준
    springboot
    프로그래머스
    baekjoon
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[실버 5] 7785번 회사에 있는 사람

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.