[JAVA] 백준 #1157 - 단어 공부

2023. 10. 18. 01:37·💡 Algorithm/백준

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine().toUpperCase();

        int[] strCount = new int[26]; //알파벳 개수를 저장할 배열

        for(int i=0; i<str.length(); i++){
            char ch = str.charAt(i);
            strCount[ch - 'A']++;
        }

        int maxCount = 0;
        char mostStr = '?';

        for(int i=0; i<strCount.length; i++){
            if(strCount[i] > maxCount){
                maxCount = strCount[i];
                mostStr = (char) (i + 'A');
            } else if(strCount[i] == maxCount) {
                mostStr = '?';
            }
        }

        System.out.println(mostStr);
    }
}

 

풀이

  1. 일단 문장을 대문자로 다 바꾼다.
  2. 알파벳 개수만큼 정수 배열 strCount를 생성한다.
  3. strCount 루프를 돌면서 입력한 문자를 ch로 추출한다.
  4. strCount배열의 ch자리에 count를 올린다.  ex) 입력한 문자 A - ‘A’는 A - 65 = 0 이므로 strCount[0]의 자리에 ++하는 것.
  5. 배열 자리에 count를 다 올렸으면 배열 for문을 돌면서 가장 큰 숫자가 있는 인덱스를 찾는다. 초기에 0으로 했으니 초기상태에서 시작
  6. 찾았다면 아스키코드로 다시 문자로 변환해서 return한다.

 

아스키코드 ‘A’는 65 , ‘a’는 97은 외우기

 

저작자표시 비영리

'💡 Algorithm > 백준' 카테고리의 다른 글

[JAVA] 백준 #10250 - ACM 호텔  (1) 2023.10.19
[JAVA] 백준 #2920 - 음계  (0) 2023.10.17
[JAVA] 백준 #11720 - 숫자의 합  (0) 2020.08.21
[JAVA] 백준 #10809 - 알파벳 찾기  (0) 2020.08.21
[JAVA] 백준 #2675 - 문자열 반복  (0) 2020.08.21
[JAVA ] 백준 #1157- 단어 공부  (0) 2020.08.20
'💡 Algorithm/백준' 카테고리의 다른 글
  • [JAVA] 백준 #10250 - ACM 호텔
  • [JAVA] 백준 #2920 - 음계
  • [JAVA] 백준 #11720 - 숫자의 합
  • [JAVA] 백준 #10809 - 알파벳 찾기
현주먹
현주먹
끄적끄적 개발.log
  • 현주먹
    현주먹의 개발로그
    현주먹
  • 전체
    오늘
    어제
    • 전체글 (162)
      • 👶🏻 CS (15)
        • Operating System (8)
        • Database (4)
        • Data Structure (2)
        • Software Engineering (1)
      • 💻 Dev (54)
        • Java & OOP (24)
        • Spring (4)
        • JPA (5)
        • Test Code (1)
        • Database (1)
        • JSP & Servlet (13)
        • Etc (6)
      • 💡 Algorithm (25)
        • 인프런 (9)
        • 백준 (16)
      • 🛠 DevOps & Tool (11)
        • Linux (4)
        • AWS (1)
        • Git (2)
        • Etc (4)
      • 📝 끄적끄적 (57)
        • 후기 및 회고 (5)
        • TDD, 클린 코드 with Java 17기 (3)
        • F-Lab (23)
        • 🖥️ 자바의 정석 (11)
        • 📖 Clean Code (3)
        • 항해99 코테 스터디 (11)
  • 블로그 메뉴

    • 🐈‍⬛ GitHub
    • TIL
  • 인기 글

  • 태그

    til
    객체지향
    자바의정석
    오라클
    코테스터디
    티스토리챌린지
    자바의신절판
    PostGreSQL함수
    TDD 클린 코드 with Java
    백준
    항해99
    에프랩
    개발자취업
    백준10250
    C
    에프랩 후기
    인프런 단어뒤집기
    데브클럽
    f-lab 후기
    개발자멘토링
    로또 미션
    코딩테스트준비
    인프런 특정문자뒤집기
    JPA
    F-Lab
    jsp
    99클럽
    ==와 equals()
    NextSTEP
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
현주먹
[JAVA] 백준 #1157 - 단어 공부
상단으로

티스토리툴바