본문 바로가기

IT

[algospot/알고리즘] 알고스팟, '왕초보' 난이도 MISPELL 풀기

알고리즘 문제를 읽다보면 문제를 푸는 사람의 유희를 위해 출제자가 고민한 흔적이 보일 때가 있습니다.

미사여구 없이 무미건조한 두어 문장으로도 문제를 설명할 수도 있는데 말이지요.


알고리즘 문제에 소설처럼 배경이 나오고 등장인물도 나오고 사건도 등장합니다.

마치 실제로 일어난 일인양 설명을 하니,

실생활의 현실문제를 해결하고 있다는 착각도 들게 만듭니다.


바로 그런 점이 알고리즘의 매력이 아닐까요?



- 제목 : MISPELL

- 난도 : ☆☆☆☆☆ (0점 / 5점)

- 문제 : 오타는 학생들이 현저한 능력을 보이는 분야입니다(비꼬는 중). n번째 글자를 제거하는 프로그램을 작성하세요.

- 답안

#include <stdio.h>

int main(int argc, char **argv)
{
    register int i = 0;
    int count = 0;

    scanf("%d", &count);

    for (; i < count; i++) {
        int number = 0;
        char string[81] = {0, };

        scanf("%d %s", &number, string);

        for (; string[number - 1]; number++) {
            string[number - 1] = string[number];
        }

        printf("%d %s\n", i + 1, string);
    }

    return 0;
}


- 출력되는 답안에 1, 2, 3, 4, ...가 표시되어야 하는데요,

   1, 2, 3, 4, ....를 단순히 줄번호로 생각하여 누락시켰었습니다.

   답안에 오류가 있다고 뜨는데 왜 그런지 몰라서 잠시 멘붕에 빠졌었습니다.

   역시 이런 문제로도 멘붕에 빠지는 것을 보니 아직 멀었군요 :)


이 문제로 총 7문제를 풀어서 1794위가 되었습니다.

그럼 좋은 하루 보내세요~

끝_