๋ฐฑ์ค 1152๋ฒ : https://www.acmicpc.net/problem/1152
โ ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ ๋ชฉ ๊ทธ๋๋ก ์์ด ๋์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ํฌํจ๋ ๋จ์ด์ ๊ฐ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
ํ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฑ์ฅํ๋ฉด ๋ฑ์ฅํ ํ์๋งํผ ๋ชจ๋ ์ธ์ด์ผ ํ๋ค.
โ ์๊ณ ๋ฆฌ์ฆ ์ค๋ช
์ด ๋ฌธ์ ์ ๊ฒฝ์ฐ ๊ณต๋ฐฑ์ ์กฐ๊ฑด์ด ์ด 3๊ฐ์ง์ด๋ค.
1. ๋ฌธ์์ด์ ์์์ด ๊ณต๋ฐฑ์ผ ์ ์๋ค.
2. ๋ฌธ์์ด์ ๋์ด ๊ณต๋ฐฑ์ผ ์ ์๋ค.
3. ๊ณต๋ฐฑ์ ์ฐ์ํด์ ๋์ฌ ์๊ฐ ์๋ค.
๋ฐ๋ผ์ ์ด ๊ณต์์ ์ดํดํ๊ฒ ๋๋ฉด,
๋ฌธ์ฅ์ ๋งจ ์ฒซ ๋ฒ์งธ์ ๋ง์ง๋ง์ ์ ์ธํ ๊ณต๋ฐฑ์ ๊ฐ์ +1 ๋งํผ ๋จ์ด๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.
์์ 2๋ฅผ ๋ณด๋ฉด,
"_The_first_character_is_a_blank"
๋งจ ์ฒซ ๋ฒ์งธ ๊ณต๋ฐฑ์ ์ ์ธํ๊ณ ์ด 5๊ฐ์ ๊ณต๋ฐฑ์ ๊ฐ๊ณ ์๋ค.
๊ฐ ๊ณต๋ฐฑ์ ๋ฌด์กฐ๊ฑด ์์ ์ ์ผ์ชฝ์ ์๋ ๋จ์ด ํ ๊ฐ์ ์ง์ ์ด๋ฃจ๊ณ ์๊ณ ,
ํญ์ ๋ง์ง๋ง ๋จ์ด๋ ํผ์ ์กด์ฌํ๋ค.
๋ฐ๋ผ์ ๋งจ ์ฒซ ๋ฒ์งธ์ ๋ง์ง๋ง์ ์ ์ธํ ๊ณต๋ฐฑ์ ๊ฐ์ + 1
๋ฌธ์์ด์์์ ๋จ์ด์ ์ด ๊ฐ์์ด๋ค.
โ ์ฝ๋
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
int main(void) {
char word[1000001];
scanf("%[^\n]", word); // ๋์ด์ฐ๊ธฐ๊น์ง ์
๋ ฅ๋ฐ๊ธฐ
int i, cnt = 0;
/* word์ ๊ธธ์ด๋งํผ ํ์ */
for (i = 0; i < strlen(word); i++) {
/* ์ฒซ๋ฒ์งธ์ ๋ง์ง๋ง์ ์ ์ธํ๊ณ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด cnt++ */
if (word[i] == ' ' && i != 0 && i != strlen(word) - 1)
cnt++;
}
if (strlen(word) < 2 && word[0] == ' ') // ๋จ์ด๊ฐ ๊ณต๋ฐฑ ํ๊ธ์๋ก๋ง ์ด๋ค์ก๋ค๋ฉด
printf("0\n"); // ๋จ์ด์ ๊ฐ์ = 0๊ฐ
else // ์๋๋ผ๋ฉด
printf("%d\n", cnt + 1); // ๋จ์ด์ ๊ฐ์ = ( ๊ณต๋ฐฑ์ ๊ฐ์ + 1 )
return 0;
}
โก tip 1
scanf("%[^\n]", word);
์๋ scanf์ ๊ฒฝ์ฐ ๊ณต๋ฐฑ์ ์ ๋ ฅํ ์ ์๋๋ฐ,
์์ ๊ฐ์ด ์ฐ๋ฉด ์ํฐ ์ ๋ ฅ ์ ๊น์ง ๊ณต๋ฐฑ์ ํฌํจํ ๋ชจ๋ ๋ฌธ์์ด์ ์ ๋ ฅํ ์ ์๋ค.
โก tip 2
strlen(word)
์ ๋ ฅํ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ๊ฐ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์,
strlen()์ ์ฌ์ฉํ๋ฉด ์ ๋ ฅํ๋ ๋ฌธ์์ด์ ๋ง์ถฐ ๋ฐ๋ณต๋ฌธ์ ์ค์ ํ ์ ์๋ค.
'๐ STUDY > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C / C++] ๋ฐฑ์ค 2884๋ฒ - ์๋์๊ณ (0) | 2022.03.21 |
---|---|
[C / C++] ๋ฐฑ์ค 2446๋ฒ - ๋ณ์ฐ๊ธฐ_9 (0) | 2022.03.21 |
[C / C++] ๋ฐฑ์ค 1316๋ฒ - ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (1) | 2022.03.19 |
[C / C++] ๋ฐฑ์ค 1260๋ฒ - DFS ์ BFS (0) | 2022.03.19 |
[C / C++] ๋ฐฑ์ค 1110๋ฒ - ๋ํ๊ธฐ ์ฌ์ดํด (0) | 2022.03.14 |