2023. 7. 3. 00:50, 알고리즘/BOJ
#include <bits/stdc++.h>
using namespace std;
int n;
int l[30];
int r[30];
int v[30];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=0; i<n; i++){
char v, l, r;
int vnum,lnum,rnum;
for(int i=1; i<=3; i++){
cin>>v>>l>>r;
vnum=v-'A';
if(l!='.') lnum=l-'A';
if(r!='.') rnum=r-'A';
l[vnum]=lnum;
r[vnum]=rnum;
}
}
}
이와 같은 코드를 작성했을때,
이러한 오류 메시지를 받게 되었고, 왜 이런게 발생하는지에 대해 생각해보다가 gpt에 검색해보았다.
답변을 읽어보니 굉장히 어이없게도 내가 배열로 v, l, r 라는 이름을 써놓고, 다시 또 각각의 char를 받아들이는데 있어서도 v, l, r를 선언해서 두 내용이 혼선이 있었기 때문이다.
지피티를 통해 검색해보았을때 아주 금방 눈치를 채게 되는 잘못된 코드였는데, 그 전까지는 정말 도대체 어디가 잘못된 것인지 알지 못했다.
애초에 이렇게 간단한 단어들로 변수명을 선언할때, 이렇듯 겹치지 않게 굉장히 주의해야 할 것 같다.
만약 지속적으로 이러한 문제가 발생한다면 애초부터 변수명을 설정할때 단순하게 알파벳 하나로 선언하지 말고, 조금 더 길게 설명을 해줄 수 있는 단어를 사용하는 습관을 들여야 할 것 같다.
너무 짧게만 코드를 작성하려 하지 말고, 실수없이 작성하는걸 우선으로 생각하도록 하자.
'알고리즘 > BOJ' 카테고리의 다른 글
boj 20955번 문제에 대한 풀이중, dfs와 사이클 감지를 이용하는 코드 작성하기. (0) | 2023.07.05 |
---|---|
boj 4803번 문제에서 메모리 초과에 관하여. 그리고 내 맥북에서 segmentation falut (0) | 2023.07.04 |
c++ 함수를 만들때 배열을 인자로 받을때 &을 사용하는 방법에 대하여. (0) | 2023.07.02 |
boj 1707번 문제를 풀다가 접하게 된 vector의 clear() 함수에 대하여. (0) | 2023.07.02 |
boj 1325번 문제를 통해 바라보는, 노드에 붙어있는 노드들의 총 갯수를 구하는 방법에 대한 정방향 dfs와 역방향 dfs 풀이법 차이. (0) | 2023.07.01 |
Comments, Trackbacks