본문 바로가기

분류 전체보기89

8. 영역과 수명 영역(scope) : 식별자의 효력을 나타낼 수 있는 영역 , 식별자의 사용이 허락되는 프로그램의 범위 , 프로그램 내에서 어떤 선언이 유효한 부분 식별자(identifier) : 변수, 상수, 레이블, 자료형, 부프로그램 등의 이름 언어 구성자를 명명하는 어휘토큰 / 변수, 배열, 레코드, 레이블, 프로시저 등의 이름/ 일반적으로 문자가 맨 앞에 오고, 그 뒤에 영문자,숫자, 그밖의 문자가 0개 이상 따라옴 수명(Extent, LifeTime) : 식별자(변수) 값을 보유할 기억장소가 배정되어 있는 실행시간 식별자의 기억장소 할당부터 해제까지의 기간 언어 구성자가 존재하는 동안을 가리키는 실행시간의 부분 식별자 영역 제공의 간결화로 모든 식별자를 전 프로그램에서 사용가능하도록 "전역변수화" 하는 방법 .. 2023. 6. 3.
2178 미로탐색 코드 #include #include #include #define MAX 101 using namespace std; int N, M; // 미로 크기 int map[MAX][MAX]; // 미로 표현용 2차원 배열 int visited[MAX][MAX]; // 방문 기록용 2차원 배열 int check[MAX][MAX]; // 이동칸 기록용 2차원 배열 int dx[4] = { -1, 1, 0, 0 }; // 상하좌우 x축 int dy[4] = { 0, 0, -1, 1 }; // 상하좌우 y축 queue q; // queue에 탐색 기록 void bfs(int start_x, int start_y) { visited[start_x][start_y] = 1; q.push(make_pair(start_x.. 2023. 5. 6.
1149 RGB 거리 코드 #include #include using namespace std; int N; int House[1001][3]; int DP[1001][3]; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> N; House[0][0] = 0; House[0][1] = 0; House[0][2] = 0; DP[0][0] = 0; DP[0][1] = 0; DP[0][2] = 0; for (int i = 1; i > num; House[i][j] = num; } } //집이 1개 DP[1][0] = House[1][0]; DP[1][1] = House[1][1]; DP[1][2] = House[1][2]; //집이 .. 2023. 5. 6.
2606 바이러스 코드 #include #include #include #include using namespace std; int N, M; vectoradjList[101]; bool isvisited[101] = { 0 , }; stackst; int DFS(int V) { int cnt = 0; st.push(V); while (!st.empty()) { int cur = st.top(); st.pop(); if(isvisited[cur] == true) { continue; } isvisited[cur] = true; if(cur != 1) cnt++; for (int i = adjList[cur].size() - 1; i >= 0; i--) { int next = adjList[cur][i]; st.push(n.. 2023. 5. 6.
728x90