백준 2711번 (오타맨 고창영, C++) [BAEKJOON]

오타맨 고창영

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

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초128 MB98916611597768.599%

문제

고창영은 맨날 오타를 낸다. 창영이가 오타를 낸 문장과 오타를 낸 위치가 주어졌을 때, 오타를 지운 문자열을 출력하는 프로그램을 작성하시오.

창영이는 오타를 반드시 1개만 낸다.

입력

첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다.

각 테스트 케이스는 한 줄로 구성되어 있다. 첫 숫자는 창영이가 오타를 낸 위치이고, 두 번째 문자열은 창영이가 친 문자열이다.

문자열의 가장 첫 문자는 1번째 문자이고, 문자열의 길이는 80을 넘지 않고, 대문자로만 이루어져 있다.

오타를 낸 위치는 문자열 길이보다 작거나 같다.

출력

각 테스트 케이스에 대해 오타를 지운 문자열을 출력한다.

예제 입력 1

4
4 MISSPELL
1 PROGRAMMING
7 CONTEST
3 BALLOON

예제 출력 1

MISPELL
ROGRAMMING
CONTES
BALOON

출처

ICPC > Regionals > North America > Greater New York Region > 2007 Greater New York Programming Contest A번

  • 문제를 번역한 사람: baekjoon
  • 잘못된 데이터를 찾은 사람: occidere

알고리즘 분류


단순한 구현 문제입니다.

특정 인덱스의 문자열을 어떤 방식으로 출력에서 제외할 것 인가를 구현하는 문제입니다.

아래의 코드는 주어진 문자열을 순회하면서 오타의 인덱스인지 확인 후 출력하는 코드입니다.

통과된 코드

#include <iostream>

using namespace std;

int main()
{
	int _TestCase, _TypingError;

	cin >> _TestCase;

	while (_TestCase--) 
	{
		string _Str;
		cin >> _TypingError >> _Str;
		int _l = _Str.length(); 
		_TypingError--;
		for (int i = 0; i < _l; i++) 
		{
			if (i == _TypingError)
				continue;

			cout << _Str[i];

		}

		cout << '\n';
	}

	return 0;
}

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤