본문 바로가기

전체 글95

[C] 매크로(macro) 매크로(macro) 상수나 자주 사용하는 표현식과 같이 다른 이름으로 대체한 이름 ex) N을 10으로 대체 #define N 10 매크로(macro) 종류 단순 매크로 (simple macro) 매개변수 매크로 (parameterized macro) 단순 매크로(simple macro) 매개 변수가 없는 매크로를 단순 매크로라 한다. #define #define 식별자 대체목록\식별자가 대체목록을 의미하게됨\ #define N 10 대체 목록 : 식별자, 키워드, 숫자 상수, 문자 상수, 문자열 리터럴, 연산자 등을 포함 장점 프로그램의 가독성을 높혀줌 프로그램의 수정성을 높혀줌 일관성 없는 코드나 오타 방지 매개변수 매크로 (parameterized macro) #define #define 식별자(x.. 2023. 5. 18.
[C 언어] 전처리기 전처리기(preprocessor) 컴파일 이전 C 프로그램을 수정해주는 소프트웨어 전처리기는 전처리 지시자에 의해 제어된다 전처리 지시자 : #으로 시작하는 명령어 ex) #define, #include #define 지시자는 매크로(macro)를 정의한다. 매크로(macro)란? : 상수나 자주 사용하는 표현식과 같이 다른 이름으로 대체한 이름 ex) N을 10으로 사용 test.c #include #define N 10 int main(void) { printf("%d", N); return 0; } > gcc -Wall -Wextra -Werror test.c > ./a.out 10% 전처리기의 출력물을 보고싶을 경우 gcc에서 -E 옵션 사용 전처리기의 출력물을 확인하는 이유 : 전처리기가 지시자.. 2023. 5. 18.
[python 구름] 거스름돈 📜 접근 방법 최소한의 동전을 주는 문제 가치가 높은 순으로 주어진 n을 뺀다. 뺄 수 없다면 그 다음 순서로 넘어간다. ✅ 정답 코드 n = int(input()) cnt = 0 while n > 0: if n >= 40: tmp = n // 40 n -= 40 * tmp elif n >= 20: tmp = n // 20 n -= 20 * tmp elif n >= 10: tmp = n // 10 n -= 10 * tmp elif n >= 5: tmp = n // 5 n -= 5 * tmp else: n -= 1 tmp = 1 cnt += tmp print(cnt) 이렇게 풀게 되면 계속해서 조건을 확인할 필요가 없는데 계속해서 확인을 하게 되는 문제가 있다. ✅ 다른 방식으로 줄인 코드 n = int(.. 2023. 5. 17.
[Django] MVT 패턴 일반적인 MVC 패턴 M : Model V : View C : Controller 장고에서 사용하는 MVT 패턴 M : Model T : Template V : View Model 데이터베이스에 저장되는 데이터 ORM을 사용하여 객체와 데이터베이스의 관계를 매핑해줌 View 로직 정의 Template 사용자가 보는 화면 UI 정의 클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석 URL을 분석한 결과로 해당 URL 처리를 담당할 뷰를 결정 뷰는 자신의 로직을 실행 만일 데이터베이스 처리가 필요하면 모델을 통해 처리하고 그 결과를 반환받음 뷰는 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML 파일을 생성 뷰는 최종 결과로 HTML 파일을 클라이언트에게 보내 응답함 참고.. 2023. 5. 16.