[백준1157- Java] 구현 - 단어 공부

2024. 4. 23. 16:45·문제 풀이/백준 문제풀이
목차
  1. 풀이
  2. 반례 (위 코드는 수정한 코드)
728x90
반응형
SMALL

단어 공부

문제
 

풀이

  1. 문제 파악
    • 각 문자에 대해 반복출현 숫자를 담는다.
    • 담은 숫자를 비교하여 가장 큰 수를 출력한다.
    • 가장 큰 수를 가진 문자열이 여러개인 경우 ?를 출력한다.
  1. 변수 생성
    • 단어를 받을 문자열 변수 생성
  1. 코드 구현
    package Simulation;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.*;
    import java.io.*;
    
    
    public class SimulationP1157 {
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
            String str = br.readLine();
            str = str.toUpperCase();
            HashMap<String, Integer> map = new HashMap<>();
    
            for (int i = 0; i < str.length(); i++) {
                String x = str.charAt(i)+"";
                map.put(x, map.getOrDefault(x, 0) + 1);
            }
    
            int max =Integer.MIN_VALUE;
            String maxStr = "";
    
            int maxCnt=0;
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
                if(max < entry.getValue()){
                    max = entry.getValue();
                    maxStr = entry.getKey();
                    maxCnt=0;
                } else if (max == entry.getValue()) {
                    maxCnt++;
                }
            }
    
            System.out.println(maxCnt>=1?"?":maxStr);
    
        }
    }
    

반례 (위 코드는 수정한 코드)

  • ababccc
    • a와 b에서 비교 후 break를 해버리는 예외적인 상황 발생
    • break를 제거 하고 새롭게 출현한 maxStr이 있을 경우 maxCnt를 초기화 하여 조건에 맞을때만 증가하도록 변경
728x90
반응형
SMALL

'문제 풀이 > 백준 문제풀이' 카테고리의 다른 글

알고리즘 - 위상정렬  (0) 2024.08.09
[BOJ14501 - Java] 퇴사문제 DP로 풀이하기  (0) 2024.07.28
[백준11047 - Java] 구현 - 주사위 굴리기  (1) 2024.04.23
[백준11047 - Java] 동전 0 Greedy 알고리즘으로 풀  (1) 2024.03.26
[백준12789-자바/우선순위큐] 도키도키 간식드리미  (0) 2024.03.20
  1. 풀이
  2. 반례 (위 코드는 수정한 코드)
'문제 풀이/백준 문제풀이' 카테고리의 다른 글
  • 알고리즘 - 위상정렬
  • [BOJ14501 - Java] 퇴사문제 DP로 풀이하기
  • [백준11047 - Java] 구현 - 주사위 굴리기
  • [백준11047 - Java] 동전 0 Greedy 알고리즘으로 풀
공부하고 기억하는 공간
공부하고 기억하는 공간
IT 비전공자로 시작하여 훌륭한 개발자가 되기 위해 공부하고 있는 공간입니다. 틀린 내용이나 부족한 부분이 있으면 댓글로 알려주세요 바로 수정하겠습니다.
IT - railroadIT 비전공자로 시작하여 훌륭한 개발자가 되기 위해 공부하고 있는 공간입니다. 틀린 내용이나 부족한 부분이 있으면 댓글로 알려주세요 바로 수정하겠습니다.
    250x250
  • 공부하고 기억하는 공간
    IT - railroad
    공부하고 기억하는 공간
  • 전체
    오늘
    어제
    • 분류 전체보기 (325)
      • 면접 준비 (22)
        • OS (6)
        • Spring Security (0)
        • Java (3)
        • DB (11)
        • Network (3)
      • ElasticSearch (2)
      • Kafka (4)
      • Spring (22)
        • Spring Cloud (7)
        • Security6 (5)
        • JPA (12)
        • 프로젝트 리팩토링 회고록 (4)
        • Logging (8)
        • Batch (2)
      • Redis (17)
        • Redis 개념 (8)
        • Redis 채팅 (5)
        • Redis 읽기쓰기 전략 (1)
      • AWS (11)
      • 리눅스 (29)
        • 리눅스 마스터 2급 (5)
        • 네트워크(기초) (7)
        • 리눅스의 이해 (6)
        • 리눅스의 설치 (2)
        • 리눅스 운영 및 관리 (6)
      • JAVA-기초 (16)
        • JAVA기본 (11)
        • Design Pattern (5)
      • JSP (27)
        • JSP 기본 개념 (10)
        • JSP (1)
      • SQL (1)
      • TIL (36)
      • 문제 풀이 (2)
        • Programmers (9)
        • 백준 문제풀이 (28)
      • JavaScript (10)
      • HTML (17)
      • Ngrinder (1)
        • Ngrinder 문서 정리 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      Til
      자바 알고리즘
      Spring
      HTML
      redis
      스프링프레임워크
      CSS
      프로그래머스
      Spring Data Redis
      JavaScript
      백준
      redis 채팅
      springsecurity
      Springframework
      자바스크립트
      리눅스
      자바 면접
      리눅스마스터2급
      자바기초
      JSP
      자바 반복문
      자바
      jsp request
      jsp기초
      JS
      자바 면접질문
      spring redis
      리눅스마스터2급정리
      java
      레디스
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    공부하고 기억하는 공간
    [백준1157- Java] 구현 - 단어 공부

    개인정보

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

    티스토리툴바

    단축키

    내 블로그

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

    블로그 게시글

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

    모든 영역

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

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