백준 07600번 / 7600번 문제 링크
문제 이름 : 문자가 몇갤까
주 언어 : Python
태그 : 구현 / 문자열
solved.ac 등급 : Bronze II (2023/05/19 확인)
문제 보기
문제 :
"The quick brown fox jumped over the lazy dogs."
이 문장은 모든 알파벳이 적어도 한 번은 나오는 문장으로 유명하다. 즉 26개의 서로 다른 문자를 갖고 있는 것이다.
각 케이스마다 문장에서 공백, 숫자, 특수 문자를 제외하고 얼마나 다양한 알파벳이 나왔는지를 구하면 된다. 대소문자는 하나의 문자로 처리한다. ex) 'A' == 'a'
입력 :
입력은 250자를 넘지 않는 문장이 주어진다.
각 문장은 적어도 하나의 공백이 아닌 문자를 포함한다. (알파벳이 아닐 수 있다)
마지막 줄에는 '#'이 주어진다.
출력 :
각 줄마다 출몰한 알파벳의 개수를 출력하면 된다.
대소문자 구분을 하지 않으므로, 그냥 싹 다 대문자로 만들어버리고 생각해도 괜찮습니다.
파이썬에서는 파이썬 upper 함수 를 통해 문자열을 전부 대문자로 만들 수 있습니다. 특수 문자들은 그냥 무시합니다. 예를 들어 "AbcD +_".upper() == "ABCD +_"
입니다.
"A"부터 "Z"까지 일일이 문자열에 있으면 1씩 추가해서, 추가된 값을 출력해주면 됩니다.
입력된 문자가 "#"이 아닐때까지 계속 해야하므로 언제 끝날지 모를 때 쓰는 while 문이 적당합니다.
마치 그냥 숫자만 쓰는 반복문처럼 for apb in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": 를 써주면 A부터 Z까지 하나씩 apb = "A", apb = "B"...를 사용해줍니다.
apb in S는 정말 말 그대로 S에 apb이 있는지 물어보는 것입니다.
이렇게 문자열을 다루지 못하는 경우에는 아스키코드로 변환시켜서 a와 A가 들어갈 칸, b가 B가 들어갈 칸...같은 배열을 만들어서, 있었다면 해당 칸을 1로 만들어서 개수를 셀 수 있습니다.
-번째 푼 문제 (2022/--/--)