๋ฌธ์
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ํด์, ๋จ์ด์ ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฒ์ ๋ฑ์ฅํ๋ ์์น๋ฅผ, ํฌํจ๋์ด ์์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ๋ฒ์ฌ ์ค์ ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์์ผ๋ฉฐ, ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์์ ์ ์ถ๋ ฅ
์ ๋ ฅ : 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
์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
int main() {
int array[26]={0,};
for(int i=0;i<26;i++){
array[i]=-1; //๋ชจ๋ ๋ฐฐ์ด -1๋ก ์ด๊ธฐํ
}
char word[100]={"",};
for(int i=0;i<100;i++){
scanf("%c",&word[i]);
if(word[i]=='\0') break; //์
๋ ฅ ๊ฐ์ด ์์ ๋ for๋ฌธ์ ๋น ์ ธ๋์ด
else if(array[static_cast<int>(word[i])-97]==-1)
array[static_cast<int>(word[i])-97]=i;
}
for(int i=0;i<26;i++){
printf("%d ",array[i]);
}
return 0;
}
|
cs |
*๊ฐ๋จํ ํด์ค*
4~7๋ฒ ๋ผ์ธ : array๋ฐฐ์ด(์ถ๋ ฅ ๋ฐฐ์ด)์ -1๋ก ๋จผ์ ์ด๊ธฐํ ํด์ค
9~11๋ฒ ๋ผ์ธ : for๋ฌธ์ 100๋ฒ ๋๋ฆฌ๋๋ฐ ๋ง์ฝ ์ ๋ ฅ๋ ๊ฐ์ด ์๋ค๋ฉด for๋ฌธ์ ๋น ์ ธ๋์ค๋๋ก break๋ฅผ ์ ์ฉํจ
12~13๋ฒ ๋ผ์ธ : ๋ง์ฝ ์ ๋ ฅ๋ ๊ฐ์ด ์๋ค๋ฉด ํด๋น ๊ฐ์ static_cast๋ฅผ ์ด์ฉํ์ฌ int ๊ฐ์ ๋ณ๊ฒฝํด์ฃผ๊ณ ํด๋น๋๋ array์๋ฆฌ๊ฐ -1์ํ(์ฆ, ๋จผ์ ํ์ธ๋์ง ์์ ์ํ)๋ผ๋ฉด ํด๋น ๋ฐฐ์ด์ ์๋ฆฌ์ i(๋ช๋ฒ์งธ ์์ธ์ง ์๋ ค์ฃผ๋ idx)๋ฅผ ์ฝ์ ํด์ค
P.S
if(word[i]==NULL)๋ก ์ฐ๋๊น warning ๋ฌธ๊ตฌ๊ฐ ๋ณ๋ค. ์๋ง ์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ์ NULL์ด๋ผ๋ ์์ฝ์ด๊ฐ ์์ ์ ์๊ธฐ ๋๋ฌธ์ '\0' ์ผ๋ก ์์ ํ์๋ค.
*๋ฉ๋ชจ๋ฆฌ*
2016KB
*์๊ฐ*
0ms
*์ธ์ด*
C++17
*์ฝ๋๊ธธ์ด*
442B
*์ด ๋ฐฉ๋ฒ๋ง์ด ๋ง๋ ์ ๋ต์ ์๋๋๋ค.
ํจ์ฌ ์ข๊ณ ๋น ๋ฅธ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ์ ์์ต๋๋ค.
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถํ์๋ ๋ถ๋ค ํ์ดํ ! '0'/*
'์๊ณ ๋ฆฌ์ฆ > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 1157๋ฒ: ๋จ์ด์ ๊ฐ์ (0) | 2021.01.28 |
---|---|
BOJ 2675๋ฒ : ๋ฌธ์์ด ๋ฐ๋ณต (0) | 2021.01.28 |
BOJ 11720๋ฒ: ์ซ์์ ํฉ (0) | 2020.10.23 |
BOJ 11654๋ฒ: ์์คํค ์ฝ๋ (0) | 2020.10.09 |
BOJ 1065๋ฒ: ํ์ (0) | 2020.09.27 |