📜 문제

BOF 10809번, 알파벳 찾기

🔥난이도🔥

image

1차 풀이 ⭕

입력받은 단어에서 a부터 z까지 각각의 알파벳이 처음으로 등장하는 위치를 출력하는 문제다.

a부터 z를 아스키 코드로 변환하여 for 문을 통해 간단하게 해결할 수 있다❗

아스키 코드를 chr() 함수를 통해 문자로 변환 후 단어에서 찾는다.

S = input()

# 아스키 코드(a ~ z 까지 반복)
for i in range(97, 122):
    # S에서 알파벳 위치 출력(없으면 -1)
    print(S.find(chr(i)), end=' ')

# 마지막 개행 처리를 위해 z는 별도 입력
print(S.find(chr(122)))

image

보충 🤓

아스키 코드란?🤔

ANSI에서 표준화한 정보교환용 7비트 부호체계로 인쇄전신기를 통한 통신에 사용되기 시작했다.

현재 대표적 인코딩 방식인 UTF-8의 바탕이 된다.

쉽게 생각해서 문자나 숫자를 컴퓨터가 이해할 수 있는 0101의 전기적 신호로 나타낸 코드라고 보면 된다.

아래 표는 아스키 코드 중 제어 문자를 제외한 실제로 출력할 수 있는 아스키 코드이다.

10진수 부호 10진수 부호 10진수 부호 10진수 부호  
032   056 8 080 P 104 h  
033 ! 057 9 081 Q 105 i  
034 058 : 082 R 106 j  
035 # 059 ; 083 S 107 k  
036 $ 060 < 084 T 108 l  
037 % 061 = 085 U 109 m  
038 & 062 > 086 V 110 n  
039 063 ? 087 W 111 o  
040 ( 064 @ 088 X 112 p  
041 ) 065 A 089 Y 113 q  
042 * 066 B 090 Z 114 r  
043 + 067 C 091 [ 115 s  
044 , 068 D 092 \ 116 t  
045 - 069 E 093 ] 117 u  
046 . 070 F 094 ^ 118 v  
047 / 071 G 095 _ 119 w  
048 0 072 H 096 ` 120 x  
049 1 073 I 097 a 121 y  
050 2 074 J 098 b 122 z  
051 3 075 K 099 c 123 {  
052 4 076 L 100 d 124    
053 5 077 M 101 e 125 }  
054 6 078 N 102 f 126 ~  
055 7 079 O 103 g      

참고📙

https://namu.wiki/w/%EC%95%84%EC%8A%A4%ED%82%A4%20%EC%BD%94%EB%93%9C

현재 티어 🥉

image