백준 문제풀이/문자열

[백준] 10808 알파벳 개수 / 10809 알파벳 찾기 - python

peach_h 2022. 11. 17. 12:27

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

 

10808번: 알파벳 개수

단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.

www.acmicpc.net

abc = list(input())
arr = 'abcdefghijklmnopqrstuvwxyz'
total = [0]*26

for i in range(len(arr)):
  for j in range(len(abc)):
    if arr[i] == abc[j]:
      total[i] +=1

print(' '.join(map(str,total)))

 

 

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

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 

abc = list(input())
arr = 'abcdefghijklmnopqrstuvwxyz'
total = [-1]*26

for i in range(len(arr)):
  for j in range(len(abc)):
    if arr[i] == abc[j]:
      if total[i] == -1:
          total[i] = j

print(' '.join(map(str,total)))

" 처음 등장하는 위치 " << 중요

이거 무시하고 했다가 joon 처럼 똑같은 문자가 뒤에서 또 나왔을 때,

뒤에 나온 문자의 위치로 출력값이 바껴서 틀렸음

total == -1인 초기상태일때만 값을 바꿔주는 조건을 추가할 것

 

수학만 풀다가 문자열 하니까 살거같다 .

print(' '.join(map(str,total))) : 리스트를 분리해서 출력하기

외울것 !

'백준 문제풀이 > 문자열' 카테고리의 다른 글

[백준] 11655 ROT13 - python  (1) 2022.11.19
[백준] 10820 문자열 분석 - python  (1) 2022.11.17