백준 1300번째문제


세준이는 N*N크기의 배열을 만들었다. (배열의 방 번호는 1부터 시작한다.)

그 배열을 A라고 했을 때, 배열에 들어가는 수는 A[i][j] = i*j 이다.

세준이는 이 수를 일차원 배열 B에 넣으려고 한다. 그렇게 되면, B의 크기는 N*N이 될 것이다. 그러고 난 후에, B를 정렬해서 k번째 원소를 구하려고 한다.

N이 주어졌을 때, k번째 원소를 구하는 프로그램을 작성하시오.




#include <stdio.h>

int main(void)
{
    int A[30][30],B[30],n,i,j,k,l=0;
   
    scanf("%i", &n);
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            A[i][j] = i*j;
            if(l<(n*n))
            {
                B[l] = A[i][j];
                l++;   
            }               
        }
   
    }
   
    scanf("%i", &k);
    printf("%i\n", B[k]);  
   
    return 0;   
}

컴파일러에서는 잘돌아가는데 체점하면 런타임 에러가뜨는데 왜이러는 걸까요?