#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2)
{
vector<vector<int>> answer;
for(int y = 0; y < arr1.size(); y++)
{
for(int x = 0; x < arr1[y].size(); x++)
{
answer[y][x] = arr1[y][x] + arr2[y][x];
}
}
return answer;
}
처음 코드를 작성했을 때, 오류가 발생하여 IDE에서 디버깅을 해보았다.
유효하지 않은 매개변수가 함수에 전달되어 런타임 중에 예외되어 처리되지 않고 에러를 발생했다고 한다.
answer[y][x] = arr1[y][x] + arr2[y][x]; 구문을 실행할 때, 에러가 발생된 것을 확인했고 원인은 answer의 크기가 설정되지 않은 상태로 초기화 되어있어, 2차원 배열의 공간이 없는데 인덱스 위치에 값을 집어넣어서 생긴 문제로 보인다.
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2)
{
//answer 2차원 배열 크기 설정.
vector<vector<int>> answer(arr1.size(), vector<int>(arr1[0].size(), 0));
for(int y = 0; y < arr1.size(); y++)
{
for(int x = 0; x < arr1[y].size(); x++)
{
answer[y][x] = arr1[y][x] + arr2[y][x];
}
}
return answer;
}
위와 같이 크기와 함께 '0'으로 초기화를 시켰고 문제를 해결하였다.
'공부 > Code Cata' 카테고리의 다른 글
비트 AND연산 / std::toupper / std::tolower (0) | 2024.12.30 |
---|---|
3진법 뒤집기 (1) | 2024.12.27 |
Quick Sort (0) | 2024.12.23 |
std::sqrt (0) | 2024.12.22 |
약수의 개수가 홀수인가? (0) | 2024.12.22 |