-- 예전 기록/BOJ

[ BOJ ] 2711 : 오타맨 고창영 ( BRONZE 2 ) / C, Python

rejo 2023. 11. 14. 10:50

문제

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

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

입력

첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있다. 첫 숫자는 창영이가 오타를 낸 위치이고, 두 번째 문자열은 창영이가 친 문자열이다. 문자열의 가장 첫 문자는 1번째 문자이고, 문자열의 길이는 80을 넘지 않고, 대문자로만 이루어져 있다. 오타를 낸 위치는 문자열 길이보다 작거나 같다.

출력

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

풀이 과정

입력받은 문장에서 오타를 낸 위치를 스킵하고 나머지 문자를 출력하면 되는 문제이다. 테스트케이스에 유의하여 출력하자.

C

#include <stdio.h>
#include <string.h>

int main(void) {
    int t;
    scanf("%d", &t);
    while(t--) {
        int n;
        char str[85];
        scanf("%d %s", &n, str);

        for (int i = 0; i < strlen(str); i++) {
            if (i == n - 1) continue;
            printf("%c", str[i]);
        }
        printf("\n");
    }
    return 0;
}

Python

import sys
input = sys.stdin.readline

t = int(input().rstrip())
for _ in range(t):
    n, string = input().split()
    print(string[:int(n)-1] + string[int(n):])