백준 1157 - 단어공부

2024. 5. 23. 19:48· 알고리즘&자료구조/Algorithm
목차
  1. 1. 문제
  2. 2. 입력
  3. 3. 출력
  4. 4. 아이디어
  5. 5. 코드
728x90

https://www.acmicpc.net/problem/1157

(브론즈1)

 

1. 문제

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

2. 입력

첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.

3. 출력

첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

4. 아이디어

1) 알파벳 26개니까 [0]*26으로 리스트를 만든다.

2) 모든 알파벳을 소문자로 받는다.

3) 입력값에 ord('a')값을 빼고 알파벳 리스트의 숫자를 증가시킨다. (몇번 사용됐는지 확인)

4) 알파벳 리스트 중 최댓값을 찾는다. 

5) 최대값이 1개 이상이면 "?"를 출력하고 1개라면 index값에 'A'아스키코드를 더해서 chr()메서드로 문자변환을 한다.

5. 코드

#단어공부(브론즈1)

al_list = [0]*26

input_str = input().lower()

# print(ord('a')) -- 97
#chr로 문자변환

for i in input_str:
    index = ord(i)-97
    al_list[index]+=1

max_value = max(al_list)

max_index = []
for index, value in enumerate(al_list):
    if value == max_value:
        max_index.append(index)

if len(max_index) > 1:
    print("?")
else:
    print(chr(max_index[0]+ord('A')))

 

728x90

'알고리즘&자료구조 > Algorithm' 카테고리의 다른 글

백준 1316 - 그룹 단어 체커  (0) 2024.07.26
백준 1268 - 임시 반장 정하기  (0) 2024.07.26
백준 1018 - 체스판 다시 칠하기  (0) 2024.05.20
백준 1085 - 직사각형에서 탈출  (0) 2024.05.19
백준 10808 - 알파벳 개수  (0) 2024.05.18
  1. 1. 문제
  2. 2. 입력
  3. 3. 출력
  4. 4. 아이디어
  5. 5. 코드
'알고리즘&자료구조/Algorithm' 카테고리의 다른 글
  • 백준 1316 - 그룹 단어 체커
  • 백준 1268 - 임시 반장 정하기
  • 백준 1018 - 체스판 다시 칠하기
  • 백준 1085 - 직사각형에서 탈출
백엔드 개발자 - 젤리곰
백엔드 개발자 - 젤리곰
오늘도 배움이 있는 하루가 되길 바라는 개발자
백엔드 개발자 - 젤리곰
backend-gummyBear
백엔드 개발자 - 젤리곰
전체
오늘
어제
  • 분류 전체보기 (144)
    • 인프런 김영한 강의 정리 (60)
      • 스프링 핵심원리 기본편 (12)
      • 모든 개발자를 위한 HTTP 웹 기본 지식 (10)
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (3)
      • 자바 ORM 표준 JPA 프로그래밍 기본편 (28)
      • 실전! Querydsl (6)
    • Spring (2)
    • 프로젝트일지 (6)
    • 프로그래밍 언어 (20)
      • Java (17)
      • JavaScript (3)
      • Python (0)
    • 데이터베이스 (4)
      • Oracle (2)
      • ORM (1)
      • SQL 튜닝 (1)
    • 형상관리 (1)
      • Git (0)
    • 알고리즘&자료구조 (34)
      • Algorithm (31)
      • Data Structure (1)
    • CS지식 (4)
    • Cloud (5)
    • 일기 (7)
      • 공부 일기 (3)
      • 독서 일기 (2)
      • 마음 일기 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 스프링컨텍스트
  • 클라이언트서버통신
  • jquery와javascript
  • 객체지향의사실과오해
  • 객체지향방법론
  • 인터페이스
  • 커스텀annotation
  • 업캐스팅
  • 인프콘
  • 데이터베이스정규화
  • #{}와${}의차이
  • 힙자료구조
  • LeetCode200번
  • dfs알고리즘
  • LeetCode17번
  • ORM프레임워크
  • 프론트엔드역사
  • 프론트엔드개발자업무
  • 다운캐스팅
  • SublimeText단축키

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
백엔드 개발자 - 젤리곰
백준 1157 - 단어공부
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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