10809๋ฒ: ์ํ๋ฒณ ์ฐพ๊ธฐ
๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, a๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, b๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, ... z๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์ด๋ค ์ํ๋ฒณ์ด ๋จ์ด์ ํฌํจ๋์ด ์์ง ์๋ค๋ฉด -1์ ์ถ
www.acmicpc.net
๋ฌธ์
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์์ผ๋ฉฐ, ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, a๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, b๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น, ... z๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
๋ง์ฝ, ์ด๋ค ์ํ๋ฒณ์ด ๋จ์ด์ ํฌํจ๋์ด ์์ง ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค. ๋จ์ด์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ 0๋ฒ์งธ ์์น์ด๊ณ , ๋ ๋ฒ์งธ ๊ธ์๋ 1๋ฒ์งธ ์์น์ด๋ค.
์์ ์ ๋ ฅ
baekjoon
์์ ์ถ๋ ฅ
1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
Solution
c++
#include<stdio.h>
#include<string.h>
int main(void)
{
int a;
char s[101]; //๋จ์ด์ ๊ธธ์ด 100์ ๋์ง ์๋ ๋จ์ด๋ฅผ ์
๋ ฅ๋ฐ๊ธฐ ์ํ ๋ณ์
scanf("%s", s); //๋ฌธ์์ด ์
๋ ฅ๋ฐ๊ธฐ
char alpha[26]; //์ํ๋ฒณ ๋ฐฐ์ด
for (int i = 0; i < 26; i++) //๋จผ์ ์ํ๋ฒณ ๋ฐฐ์ด ์ ์ฒด๋ฅผ -1๋ก ์ด๊ธฐํ
{
alpha[i] = -1;
}
for (int i = 0; i < strlen(s); i++) //๋ฌธ์์ด ๊ธธ์ด๋งํผ ๋ฐ๋ณต
{
a = (int)s[i] - 97; //ASCII ์ฝ๋์์ ์๋ฌธ์๋ 97~122๋ฒ๊น์ง.
if (alpha[a] == -1)
alpha[a] = i;
}
for (int i = 0; i < 26; i++) //๋ง์ง๋ง์ผ๋ก ์ํ๋ฒณ ๋ฐฐ์ด์ ์ ์ฅ๋ ๊ฐ์ ์ถ๋ ฅ
printf("%d ", alpha[i]); //๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ๊ฒฐ๊ณผ ์ถ๋ ฅ
return 0;
}
Python
s = input()
alpha = [-1]*26
for i in range(len(s)):
if alpha[ord(s[i])-97] == -1:
alpha[ord(s[i])-97] = i
print(alpha, end=' ')
Another Solution
Python
s = input()
alphabet = list(range(97,123))
for x in alphabet :
print(s.find(chr(x)), end=' ')'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 10757๋ฒ : ํฐ ์ A+B (Python/Bronze 5) (0) | 2022.08.18 |
|---|---|
| BOJ 1271๋ฒ : ์์ฒญ๋ ๋ถ์2 (Python/Bronze 5) (0) | 2022.08.18 |
| BOJ 18108๋ฒ : 1998๋ ์์ธ ๋ด๊ฐ ํ๊ตญ์์๋ 2541๋ ์?! (C++/Python/Bronze 5) (0) | 2022.08.16 |
| BOJ 11021๋ฒ : A+B - 7 (C++/Python/Bronze 5) (0) | 2022.08.16 |
| BOJ 11021๋ฒ : A+B - 7 (C++/Python/Bronze 5) (0) | 2022.08.16 |