ํฐ์คํ ๋ฆฌ ๋ทฐ
[baekjoon] 12605๋ฒ : ๋จ์ด์์ ๋ค์ง๊ธฐ (C++)
๊ตฌ๋์ 2021. 9. 7. 18:51
๋ง๋งํ์ค ์์๋๋.. ๊ทธ๋ฅ ๋ณด๊ณ ์ฝ์์ ์ณค๋๋ใ ฃ.... ์ค๋๊ฑธ๋ฆฐ๋ฏ.. ์๋๋ฉด reverse ํจ์์ ๋ํ ์ดํด ๋ถ์กฑ + getline ์๋ชจ๋ฆ ๋ฑ์ผ๋ก ์ธํด ์๊ณ ๋ฆฌ์ฆ ์๊ฐ์ ํ์ผ๋ ๊ตฌํ์ ๋ชปํ๋.. ์๋ ํด๋ ๋์๊ฐ์ง ์๋ ์ํฉ์ ๋ง์ฃผํ๋ ๊ฒ..!

์ผ๋จ ๋ด๊ฐ ์๊ฐํ ๊ฒ์? ๋ฌธ์ฅ ์ ์ฒด๊ฐ ๋ค์งํ์ง๋ง.. ๋จ์ด๋ ์๋ค์งํ.. ๊ณ ๋ฐ ๋๋์ด๋๊น
์ผ๋จ reverse ํจ์๋ก ์ ์ฒด๋ฅผ ๋ค์ง๊ณ ํ ํฐ ๋จ์๋ก ๋ค์ง์ผ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐ
ํ ํฐ ํ๋๊น ์๋ฐ ์๊ฐ๋๋ค ์๋ฐ๋ก ํ์์ผ๋ฉด ๋ ๋นจ๋ฆฌ ํ๋ ธ์๋ผ๋
์ด์จ๋ ๋ฌธ์ฅ์ ์ ๋ ฅ๋ฐ์์ผ ํ๊ธฐ์ ๋๋ cin์ผ๋ก n์ ์ ๋ ฅ๋ฐ๊ณ getline์ผ๋ก ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์
๊ทผ๋ฐ ์ ๋๋ก ์๋์๊ฐ.. ๋ง์ฝ ์ ์์ ๋ฅผ ์ ๋ ฅํ๋ค๊ณ ์น๋ฉด footbar๊น์ง๋ ์ ๋ค์ด๊ฐ๋๋ฐ all your base ๋ฌธ์ฅ์ด ์๋ค์ด๊ฐ๋๊ฒ..! ์ด ์ด์ ๋ฅผ ์์๋ณด๋
(ํจ์, C++) ์ ๋ ฅ ๋ฒํผ ๋น์ฐ๊ธฐ [cin.ignore()]
char input[100][100] = {0}; cout << "N์ ์ ๋ ฅ : "; cin >> N; while (i < N) { cin.getline(input[i], 100); i++; } ์ด๋ฐ์์ผ๋ก N๋ฒ์ ๋ฌธ์์ด์ ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ์ง๊ณ ์คํํ์๋๋ฐ N = 3 ์ด๋ผ๋ฉด 3๋ฒ์ ์ ๋ ฅ๋ฐ..
isntyet.tistory.com
์ ๋ ฅ ๋ฒํผ๋ฅผ ์ง์์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค ๋ ๋ชฐ๋๋ค
๊ทธ๋ฌ๋๊ฐ cin์ ์ ๋ ฅํด์ ๋ฐ์ ์ดํ์ getline()์ ์ฐ๋ ค๋ฉด ์ค๊ฐ์ ๊ผญ cin.ignore()์ ์จ ์ฃผ์ด์ผ ํ๋ค ์๋ํ๋ฉด "\n"์ด ์ ๋ ฅ ๋ฒํผ์ ๋จ์์ ๊ทธ๋ ๋ค๋ ๊ฒ..! ๋ ๋ชฐ๋๋ค ๊ทธ๋ฅ ๋ด CLion์ด ์ด์ํ ์ค ์์๋ค ๋ด๊ฐ ๋ฐ๋ณด์๋ ๊ฑฐ์๊ตฌ๋..ใ
๋ํ
else if(j == s.size()){ // ๋ฌธ์ฅ์ ๋์ผ ๋
reverse(s.begin() + start, s.end()); // start๋ถํฐ end๊น์ง ๋ค์ง์
}
๋ฌธ์ฅ์ ๋์ผ ๋ ์ด๋ ๊ฒ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด ์ฃผ์ด์ผ ํ๋๋ฐ s.size() - 1์ด ์๋ s.size()๋ก ์กฐ๊ฑด๋ฌธ ํด๋์ ์ด๊ฒ ์คํ์ด ์๋์๋ค.. ๊ทธ๋๊ทธ๋ ์ด์ ์์์ผ๋ฉด ๋์ง
๊ทธ๋๋ ์ฑ๊ณตํ๋ค๋๊ฑฐ ใ ใ ํํ
// BOJ 12605๋ฒ ๋จ์ด์์ ๋ค์ง๊ธฐ
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n; // ๋ฌธ์ฅ ๊ฐ์
cin >> n;
cin.ignore(); // ์
๋ ฅ๋ฒํผ ์ ๊ฑฐ
for(int i = 1; i <= n; i++){ // n๋งํผ ๋ฐ๋ณต
string s;
getline(cin, s); // ๋ฌธ์ฅ ์
๋ ฅ๋ฐ์
reverse(s.begin(), s.end()); // ๋ฌธ์ฅ์ ๋ค์ง์
int start = 0;
for(int j = 0; j < s.size(); j++){
if(s[j] == ' '){ // ๊ณต๋ฐฑ์ผ ๋
reverse(s.begin() + start, s.begin() + j); // start๋ถํฐ j๊น์ง๋ง ๋ค์ง์
start = j + 1; // start ๊ฐฑ์
}
else if(j == s.size() - 1){ // ๋ฌธ์ฅ์ ๋์ผ ๋
reverse(s.begin() + start, s.end()); // start๋ถํฐ end๊น์ง ๋ค์ง์
}
}
cout << "Case #" << i << ": " << s << endl; // ์ถ๋ ฅ
}
return 0;
}
- ์ผ๋จ ๋ฌธ์ฅ์ ์ ๋ ฅ๋ฐ์ผ๋ฉด ์ ์ฒด๋ฅผ ๋ค์ง์ ์ดํ, start ๋ณ์๋ฅผ 0์ผ๋ก ์ค์ ํด ์ฃผ๊ณ ๋ค์ for๋ฌธ์ ํตํด ๊ณต๋ฐฑ์ด ๋์ฌ ๋ start ~ j(ํ์ฌ ํ์ ๋ถ๋ถ) ๊น์ง๋ง reverse ํจ์๋ก ๋ฒ์ ์ง์ ํด ๋ค์ง์ด์ค๋ค! ๊ทธ๋ฆฌ๊ณ start ๋ณ์๋ฅผ j + 1๋ก ๊ฐฑ์
- ๋ง์ฝ ๋ฌธ์ฅ์ ๋์ผ ๋๋ ๊ณต๋ฐฑ์ด ์์ผ๋ฏ๋ก ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด ์ค๋ค. ์ด๋๋ j๋ฅผ ์ฌ์ฉํ ํ์ ์์ด s.end()๋ฅผ ์ฌ์ฉํด ๋ฒ์๋ฅผ ์ง์ ํด ์ค ์ ์๋ค
- Case ์ง์ ํด ์ถ๋ ฅ

'๐ STUDY > ๐ baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [baekjoon] 3197๋ฒ : ๋ฐฑ์กฐ์ ํธ์ (C++) (0) | 2021.09.09 |
|---|---|
| [baekjoon] 17608๋ฒ : ๋ง๋๊ธฐ (C++) (2) | 2021.09.07 |
| [baekjoon] 1158๋ฒ : ์์ธํธ์ค ๋ฌธ์ (C++) (0) | 2021.09.07 |
| [baekjoon] 11279๋ฒ : ์ต๋ ํ (C++) (0) | 2021.09.07 |
| [baekjoon] 1655๋ฒ : ๊ฐ์ด๋ฐ๋ฅผ ๋งํด์ (C++) (0) | 2021.09.05 |
- ํ๋ก๊ทธ๋๋ฐ
- SpringBoot
- PHP
- ๋ค์คํ๋ก์ธ์ค
- MySQL
- Apache
- ํ๋ก์ธ์ค
- SWiFT
- Annotation
- ์ค๋ฅ
- ๋จธ์ ๋ฌ๋
- ๊ธฐ๊ณํ์ต
- ๋ฒํผ
- C++
- machine learning
- Baekjoon
- GIT
- error
- ์ค์น
- Linux
- 9086๋ฒ
- react
- ํ์ผ ์ ์ถ๋ ฅ
- ๋ฐฑ์ค
- ๋ฆฌ๋ ์ค
- ์๊ณ ๋ฆฌ์ฆ
- bitnami
- C
- react-scripts
- Programming
- Total
- Today
- Yesterday