※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 29542번 문제인 Wipe it!이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/29542 

 

29542번: Wipe it!

In order to make his lessons more entertaining, one computer science teacher has invented a funny exercise. During the exercise the teacher consequently writes out the letters of some word he had just thought of at the blackboard. Students' task is to shou

www.acmicpc.net

문자열에 추가되는 새 문자가 기존 문자열에 이미 사용된 문자라면 학생들은 "Wipe it!"을 외쳐 그 문자를 지우게 됨을 관찰하자. 반대로 문자열에 추가되는 새 문자가 기존 문자열에 사용된 적 없는 문자라면 기존 문자열에 해당 문자를 포함하는 부분문자열이 존재하지 않으므로 "Wipe it!"을 외치지 않음을 관찰하자.

 

위의 분류는 새 문자를 추가할 때 일어날 수 있는 모든 경우를 포함한다. 따라서 새 문자가 입력될 때마다 기존에 사용한 적이 있는지만을 확인해 그 문자의 출력 여부를 결정하는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

char l;
bool visited[128];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	while (cin >> l) {
		if (!visited[l]) visited[l] = 1, cout << l;
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 18115 // C++] 카드 놓기  (2) 2024.02.16
[BOJ 29543 // C++] Smooth numbers  (0) 2024.02.15
[BOJ 2567 // C++] 색종이 - 2  (0) 2024.02.13
[BOJ 2578 // C++] 빙고  (1) 2024.02.12
[BOJ 29131 // C++] Хобби  (0) 2024.02.11

+ Recent posts