본문 바로가기

백준/python

2386:도비의 영어 공부(python)

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

 

2386번: 도비의 영어 공부

출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.

www.acmicpc.net

 

문제

꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다.

그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다.

여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다!

풀이

이 문제에는 사소한 함정이 있는데, 바로 알파벳 하나를 입력하고 하는 빈칸을 인덱스로 취급해줘야 하는 것이다. upper 함수를 통해 대문자도 같이 세어주는게 포인트.

코드

 

while True :
  n = input() #문자열 입력
  if n == '#' : #종료키 설정
    break
  value = n[0] #초기 검출할 알바펫 지정
  #참고로 n[1]은 초기 알파벳 다음 빈칸이다.
  data = n[2::] #초기 알바펫 하고 한칸 스페이스 이후 적는 문장을 저장
  result = data.count(value) + data.count(value.upper())
  #소문자 검출 값+ 대문자 검출값=최종 검출 개수 저장
  #반대로 해도 된다.
  print(value, result) #검출대상, 최종 검출 개수 출력

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

3181: 줄임말 만들기(python)  (0) 2023.09.13
2592:대표값(python)  (0) 2023.09.13
1212: 8진수 2진수(python)  (0) 2023.09.13
1076: 저항(python)  (0) 2023.09.13
1475: 방 번호(python)  (0) 2023.09.13