
안녕하세됴 ㅎㅎ
오늘은 백준 10809번 알파벳 찾기 문제를 가지고 왔습니다.
이 문제는 chr을 통해서 아스키코드를 문자로 바꾸고 find를 통해서 문자열에서 문자를 찾을 수 있으면 해결할 수 있습니다 !
문제를 푼 순서를 한번 정리해보겠습니다 !
- 알파벳 26개가 들어갈 배열을 만들고 -1으로 초기화해줍니다.
- 97부터 122까지 반복해주면서 그 숫자를 문자로 바꾸고 문자열 안에 알파벳이 있는지 검사합니다.
- 문자열 안에 특정 알파벳이 존재한다면, 배열 안에 개수를 저장합니다.
- 배열을 형식에 맞게 출력해줍니다.
2번과 3번이 이 문제의 핵심이니 그 부분만 자세히 다뤄보겠습니다.
for문으로 97부터 122까지 반복하고 find를 통해 특정 알파벳이 있는지 검사합니다. 있다면 배열에 저장해줍니다.
for x in range(97, 123): result = string.find(chr(x)) ## find는 발견된 특정 알파벳의 개수를 반환함 if(result != -1): a[x-97] = result
다음은 정답코드 입니다.
string = input()
a = []
for x in range(0, 26):
a.append(-1)
for x in range(97, 123):
result = string.find(chr(x))
if(result != -1):
a[x-97] = result
for x in a:
print(x, end=" ")
잘 읽었습니다. 좋은 정보 감사드립니다.