[백준 BOJ] 7120번 String (C++/cpp)
2022. 8. 16. 14:06ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/7120
접근 방법 - 문자열을 응용한 기본 문제
백준의 7120번 문제는 문자열의 기본적인 성질을 이용하여 해결해야 하는 문제이다.
해당 문제는, 연속되어 나오는 같은 문자를 제외하여 입력값을 출력해야 하는 문제이다.
필자의 경우엔 문자열에 대한 각 문자를 탐색하면서 이전 값과 같은지를 비교해가면서 출력을 수행하도록 하였다.
cpp에선 String형에 대하여 배열 접근이 가능하므로 이 점을 참고하여 문제를 해결해보길 바란다.
해당 문제를 해결하는 데에 혹여나 어려움이 있다면 아래 필자의 코드와 설명을 참고해보길 바란다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 문자열(a)을 입력받는다.
2) a의 길이만큼 반복문을 수행하여 아래의 연산을 취한다.
- 만약 현재 문자와 이전에 나타난 문자가 동일하다면 다음 순서의 반복문을 수행한다.
- 만약 현재 문자와 이전에 나타난 문자가 동일하지 않다면 해당 문자를 출력한 뒤 다음 순서의 반복문을 수행한다.
3) 줄바꿈을 출력하면서 실행 종료한다.
반응형
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <string>
#define endl '\n'
using namespace std;
//백준 7120번 코드
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
string a;
cin >> a;
for (int i = 0; i < a.length(); i++) {
if (i != 0 && a[i - 1] == a[i]) { continue; }
cout << a[i];
}
cout << endl;
}
제출 결과
(2022.07.18 백준 7120번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 11653번 소인수분해 (C++/cpp) (0) | 2022.08.16 |
---|---|
[백준 BOJ] 4108번 지뢰찾기 (C++/cpp) (0) | 2022.08.16 |
[백준 BOJ] 14645번 와이버스 부릉부릉 (C++/cpp) (0) | 2022.08.16 |
[백준 BOJ] 2231번 분해합 (C++/cpp) (0) | 2022.08.16 |
[백준 BOJ] 2752번 세수정렬 (C++/cpp) (0) | 2022.07.28 |