[C++] 백준 9935 문자열 폭발

2024. 5. 15. 11:30·Algorithm/Baekjoon
#include <iostream>
#include <string>

using namespace std;

int main()
{
	string N = "";
	string target = "";
	string result = "";
	cin >> N >> target;

	int targetSize = target.size();

	for(const auto& bomb : N)
	{
		result += bomb;

		if (result.back() == target.back() && result.size() >= targetSize)
		{
			string temp = result.substr(result.size() - targetSize, targetSize);
			
			if (temp == target)
			{
				result.erase(result.end() - targetSize, result.end());
			}
		}
	}

	if (result == "")
	{
		cout << "FRULA";
	}
	else
	{
		cout << result;
	}

	return 0;
}

 

풀이

1. 문자열을 쌓고 끝의 문자가 같은지 확인한다. 타겟문자가 C4일경우 4이면 확인. 다만 문자열의 길이가 타겟문자열 보다는 길어야 확인을 한다.

2. 해당 타겟 문자열을 삭제한다.

 

 

느낀점

문자열의 사용법은 정말 많구나 느꼈다. 문자열을 자르는 방법이라던가  끝문자를 확인하는 것이라던가 방식이 다양한 것같다.

 

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

저작자표시 (새창열림)

'Algorithm > Baekjoon' 카테고리의 다른 글

[C++] 백준 2156 포도주 시식  (0) 2024.05.29
[C++] 백준 1912 연속합  (0) 2024.05.27
[C++] 백준 10816 숫자 카드2  (0) 2024.05.14
[C++] 백준 2225 합분해  (0) 2024.05.13
[C++] 백준 14889 스타트와 링크  (0) 2024.05.02
'Algorithm/Baekjoon' 카테고리의 다른 글
  • [C++] 백준 2156 포도주 시식
  • [C++] 백준 1912 연속합
  • [C++] 백준 10816 숫자 카드2
  • [C++] 백준 2225 합분해
chanheess
chanheess
'왜' 그렇게 했는가?에 대한 생각으로 공부 및 작업의 저장관리
  • chanheess
    왜 그렇게 생각했는가?
    chanheess
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Backend Programming
      • Game Programming
        • Unreal
        • DirectX
      • C++
        • Memo
        • Basic
        • Effective Modern
      • Algorithm
        • Memo
        • Baekjoon
        • Programmers
        • HackerRank, LeetCode
      • Data Structure
      • Design Pattern
      • Etc
        • Memo
        • Daily Log
        • Book
  • 최근 글

  • 최근 댓글

  • 태그

    위클리 챌린지
    티스토리챌린지
    c++ 기초 플러스
    백준
    dfs
    프로그래머스
    Java
    SpringSecurity
    spring
    알고리즘
    JWT
    JPA
    오블완
    dp
  • hELLO· Designed By정상우.v4.10.0
chanheess
[C++] 백준 9935 문자열 폭발
상단으로

티스토리툴바