728x90
반응형
우선 정답 코드이다.
s = str(input())
alphabets = [-1] * 26 # 알파벳별로 해당 알파벳이 처음 등장하는 위치를 저장할 리스트 초기화
for i in range(len(s)):
idx = ord(s[i]) - ord('a')
if alphabets[idx] == -1: # 해당 알파벳이 처음 등장한 경우에만 위치 저장
alphabets[idx] = i
결과 = [str(x) for x in alphabets] # 각 요소를 문자열로 변환
print(' '.join(결과)) # 공백을 기준으로 문자열을 합침
ord라는 함수를 사용하는데,
이때 a가 65~ b가 66.. 이렇게 된다면
모든 과정에서 ord['a'] 인 65를 빼면 0~26의 숫자를 얻을 수 있고
처음 만든 26개의 리스트의 자리에 원한는 값을 넣을 수 있습니다
728x90
반응형
'코딩테스트 > PYTHON' 카테고리의 다른 글
백준 2908번 파이썬 풀이 (0) | 2023.03.19 |
---|---|
백준 1152번 파이썬 풀이 (0) | 2023.03.19 |
백준 11720번 파이썬 풀이 (0) | 2023.03.16 |
백준 9086번 파이썬 풀이(초보 시점 반성) (0) | 2023.03.15 |
백준 11399번 파이썬 풀이 (0) | 2023.03.14 |
댓글