문제요약
나의 코드 및 설명
- 26개의 -1을 요소로 갖는 리스트를 초기화하고,
입력받은 문자열의 알파벳이 처음 등장하는 위치를 저장하기 위해서, 상기의 리스트의 요소가 -1 일 경우(값이 변화하지 않은 최초의 상황)일 때만 저장될 수 있도록 작성하였다. - ord("string") : 아스키코드로 변환
s = list(map(str, str(input()))) #baekjoon
#s[0]-97 = 1 / loc[1] = i
loc = [-1] * 26
for i in range(len(s)):
if loc[ord(s[i])-97] == -1:
loc[ord(s[i])-97] = i
else:
continue
for j in range(len(loc)):
print(loc[j],end = " ")
if j == len(loc)-1:
print()
피드백
이게 왜 브론즈5인지 이해를 못하겠는 상황. 아스키 코드를 생각하고 있지 못한다면 꼼짝없이 당할 수 밖에 없는 문제..
아스키 코드로 변환하면 문제를 상당히 간단하게 풀 수 있다. 참고로 ord("A") = 65 / ord("a") = 97 이다.
'Baekjoon > IM Level' 카테고리의 다른 글
[백준] 1592 영식이와 친구들 (브론즈2) (0) | 2023.03.03 |
---|---|
[백준] 숫자의 각 자릿수를 요소로 갖는 리스트로 변환 (0) | 2023.03.01 |
[백준] 2920 음계 (브론즈2) / sorted, sort, reverse (0) | 2023.03.01 |
[백준] 2908 상수 (브론즈2) / 역순:a[::-1], 숫자 각 자릿수 리스트 저장, 리스트 요소 바꾸기 (0) | 2023.03.01 |
[백준] 2739 구구단 (브론즈5) / .format , 재귀함수로 풀기 (0) | 2023.03.01 |