목록전체 글 (45)
코딩 공부
주소를 리턴하는 함수 int i; int x = 10; int *p; int a[100]; for (i=0; i
변수 예약어(키워드) 사용 불가 공백 포함 불가 첫 글자는 영문 및 언더바(_) 사용 가능(숫자로 시작 불가) 언더바(_) 이외의 특수문자는 사용 불가 대소문자 구분 변수 종류 지역 변수 함수/블록 안에서 선언하는 변수 함수/블록의 종료와 함께 메모리상에서 소멸 초기값이 없으면 쓰레기 값이 들어감 스택 영역에 저장 전역 변수 함수 블록 밖에서 선언하며 전체 함수에 영향을 미친다. 프로그램이 종료될 때 메모리상에서 소멸 초기값이 없으면 0값이 들어감 데이터 영역에 저장됨 정적 변수 static으로 선언하며 선언된 블록 내에서만 사용가능 함수가 종료되어도 소멸되지 않고, 값이 그대로 유지됨 프로그램이 종료될 때 메모리상에서 소멸 초기값이 없으면 0이 입력되고, 단 한번만 초기화(이미 사용한 적이 있으면 초기..
소프트웨어 공학의 3R 정의 : 완성된 소프트웨어를 기반으로 역공학(Reverse Engineering), 재공학(Re-engineering), 재사용(Re-use)을 통해 소프트웨어의 생산성을 극대화하는 기법 역공학 차세대 : 재개발 + 재사용 (뭔가 새롭게 만들기) 고도화 : 재공학(기존에 뭔가 덧붙이기) 재공학 재사용 방법 합성 중심 : 모듈을 끼워 맞춰서 소프트웨어를 완성시키는 방법 생성 중심 : 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법 소프트웨어 개발 단계 계획 > 요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수 계획 : 범위, 비용, 일정 등을 정함 소프트웨어 개발 방법론 종류 구조적 방법론 절차지향 소프트웨어(ex: C언어) 개발 방법론 제한된 구조에서 코드 생성..

수열의 첫 값도 정해져있고 각 항의 관계도 정의되어 있으므로 그대로 구현하면 되겠다. 결국 A[N]을 구해야하므로 N+1개의 원소를 갖는 lst를 미리 정의해두고 시작하겠다. 마지막 항인 lst[-1]을 출력한다. # Bottom-Up 방식 N, P, Q = map(int, input().split()) lst = [0]*(N+1) lst[0] = 1 for i in range(1, N+1): lst[i] = lst[i//P] + lst[i//Q] print(lst[-1]) dictionary에 {0:1}을 넣어두고 만일 저장된 값이 있다면 그대로 사용하고, 저장된 값이 없으면 계산해서 새로 저장하는 구조를 그리면 되겠다. 위와 같이 구현하면 재귀 형태가 들어갈 수 밖에 없을 것이다. 그러나 모든 인덱스..

일일히 비교하면 시간 복잡도의 위험이 따르므로 이분탐색법을 이용해준다 인덱스의 중간값을 이용해 찾고자하는 값의 범위를 계속 변경해준다. 만일, 중간 인덱스의 값(lst[mid])이 찾고자 하는 값(num)보다 작다면 start = mid + 1, 중간 인덱스의 값(lst[mid])이 찾고자 하는 값(num)보다 크다면 end = mid - 1 과 같이 변경해준다. 변경 후 start < mid < end 의 관계가 성립하지 않는다면 0을 출력하고 break로 빠져나온다. N = int(input()) lst = list(map(int, input().split())) lst.sort()# 이분 탐색을 하기 위한 정렬 M = int(input()) check = list(map(int, input().sp..

항상 테두리 부분은 공기이므로 항상 (0, 0)을 시작으로 BFS를 돌린다. 시간이 얼마나 걸리는가를 구하기 위해 count라는 변수로 세주고 무한 while문을 돌려준다. BFS를 돌리면서 치즈를 만나면 치즈라는 리스트에 x, y좌표를 넣어주고 q에는 넣어주지 않는다. 공기를 만나면 q 안에 (x, y)를 넣어줌으로써 계속 q를 돌린다. 이때 cheese에 저장되는 정보가 없으면 무한 반복문을 빠져나가도록 하고 그렇지 않으면 cheese개수 정보를 갱신해주고 가장 테두리 치즈 정보를 담고 있는 치즈 리스트에서 좌표를 꺼내며 공기(arr[x][y]==0)으로 바꿔준다. from collections import deque def bfs(): global answer# 가장 마지막에 남는 치즈 갱신 위함 ..