[백준/JAVA] 2711번 오타맨 고창영

HS JEON·2023년 9월 21일
0

codingTest

목록 보기
5/5

문제

  • 창영이가 오타를 낸 문장과 오타를 낸 위치가 주어졌을 때, 오타를 지운 문자열을 출력. 오타는 반드시 1개

입력과 예시

  • 첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000), 각 숫자는 창영이가 오타를 낸 위치.
  • 4
    4 MISSPELL
    1 PROGRAMMING
    7 CONTEST
    3 BALLOON

출력

  • MISPELL
    ROGRAMMING
    CONTES
    BALOON

풀이 요약

  • 입력 받은 문자열과 오타의 인덱스에 맞게 문자 삭제
  • 인덱스 활용을 위하여 StringBuilder의 deleteCharAt(인덱스) 사용
  • for루프 외부에 sb 생성할 경우, sb 초기화. delete(시작 인덱스, 삭제할 길이)
public class Main {
	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		int tc = Integer.parseInt(st.nextToken());
		
		StringBuilder sb = new StringBuilder();
		for(int i = 0 ; i < tc; i++) {
			st = new StringTokenizer(br.readLine(), " ");
			int wrongNum = Integer.parseInt(st.nextToken());
			String stmt = st.nextToken();
			sb.append(stmt);
			sb.deleteCharAt(wrongNum-1);
			System.out.println(sb.toString());
			sb.delete(0, sb.length());
		}
	}
}

0개의 댓글