S = input()
tmp = []
i ,j= 0,0
for i in range(26):
tmp.append(-1)
for j in range(len(S)):
if (tmp[ord(S[j])-97]==-1):
tmp[ord(S[j])-97] = j
print(*tmp, sep=" ")
๊ฐ๋จํ ์๋ฆฌ๋ง ์๋ฉด ๋งค์ฐ ์ฝ๊ฒ ํ ์ ์๋ค!
1) -1 ๋ฏธ๋ฆฌ ๋ฐฐ์นํด๋ tmp ๋ฆฌ์คํธ ๋ง๋ค์ด๋๊ณ
2) ( ๋ฌธ์.์์คํค ์ฝ๋ ๊ฐ - 97 ) == -1
3) j ์์น ๋ฃ์ด์ค๋ค.
๋ฌธ์๋ a (97) ~ z (122) ๊น์ง์ ๊ฐ์ด ์ฃผ์ด์ ธ์๋ ์ํ.
์ฌ๊ธฐ์์ -97 ์ ํด์ฃผ๊ฒ๋๋ฉด
a ๋ถํฐ z ๊น์ง์ ๊ฐ์ 0 ~ 26์ผ๋ก ์ก์ ์ ์๊ฒ ๋๋ค !
์ฆ, tmp[0~26] ์ S ๋ฌธ์ ์ธ๋ฑ์ค๊ฐ ( j ) ์ ์ฝ๊ฒ ๋ฃ์ ์ ์๊ฒ ๋๋ค.
<< ๐คฎ ๋งํ ์ด์ & ํด๊ฒฐ >>
for i in range(len(S)):
tmp.append(ord(S[i]))
print(tmp)
# i+1 ์์น๊ฐ
for asc in range(122):
while True:
i=0
if asc == tmp[i]: #97 , tmp 0~7
print(i+1)
asc+=1
else:
i+=1
print("-1")
break
๋ฌธ์์ด ์ ๋ฌธ์ ํ๋ํ๋๋ฅผ ์ฐจ๋ก๋๋ก ord() ๋ณํ์์ผ์ tmp ๋ฆฌ์คํธ์ ๋ฃ๋๋ค.
IF ) tmp ๋ฆฌ์คํธ์ ๋์ผํ ๊ฐ์ asc ๋ฌธ์๋ฅผ ์ฐพ์ผ๋ฉด
ํด๋น tmp ์ธ๋ฑ์ค ๋ฒํธ ๊ฐ์ ์ถ๋ ฅํ๊ณ
tmp[i++ ]
ELSE )
- 1 ์ ์ถ๋ ฅํ๋ค.
๋ก์ง์ ์ด๋ฐ์์ผ๋ก ๊ตฌํํด๋ณด๋ ค๊ณ ํ๋๋ฐ
๋๋ฌด ๋ณต์กํด์ ํฌ๊ธฐํ๋ค.... ๐จ๐จ
<< ๊ฐ๋ >>
๐ฌ 'a'์ ์์คํค ์ฝ๋ ๊ฐ: 97 ~ 'z'์ ์์คํค ์ฝ๋ ๊ฐ: 122
๐ฌ ์ํ๋ฒณ์ ์ด 26๊ฐ๋ก ๊ตฌ์ฑ ๋์ด์์.
๐ ord() : ๋ฌธ์๋ฅผ ์์คํค์ฝ๋ ๊ฐ์ผ๋ก ๋ณํํ๊ธฐ
๐ ๋ฆฌ์คํธ๋ช .append() : ๋ฆฌ์คํธ์ ๊ฐ ์ถ๊ฐํ๊ธฐ
๐ print(*๋ฆฌ์คํธ๋ช , sep=" ") : ๋ฆฌ์คํธ ์ถ๋ ฅ ์ ๋๊ดํธ ์์ด ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ.