본문 바로가기

전체 글63

[C언어] printf 정수와 실수 출력 C 언어 printf 정수와 실수 출력 printf 는 기본적으로 문자열을 출력하는 함수이기 때문에 숫자를 출력할 때는 변환 문자를 사용해서 문자열로 변환하는 과정이 필요합니다. 변환 문자는 데이터의 타입에 따라 다른데, 정수는 %d, 실수는 %lf 를 사용합니다. #include int main(void) { printf("%d\n", 10); // %d 위치에 10 출력 printf("%lf\n", 1.2); // %lf 위치에 1.2를 소수점 이하 6자리까지 출력 printf("%.1lf\n", 1.27); // 소수점 이하 첫째 자리까지 출력(둘째 자리에서 반올림) printf("%.10lf\n", 1.2); // 소수점 이하 10자리까지 출력 printf("%d과 %d의 합은 %d입니다.\n",.. 2021. 5. 3.
[C언어] printf 문자열, 제어 문자 출력 C 언어 printf 문자열, 제어 문자 출력 화면에 데이터를 출력할 때는 printf 함수를 사용합니다. 아래 코드는 Hello World! 라는 문장을 출력하는 내용입니다. #include int main(void) { printf("Hello"); printf(" World!"); return 0; } /* Hello World! */ 1행은 stdio.h 파일의 내용을 프로그램 안에 복사한다는 의미입니다. stdio.h 는 standard input output 을 의미하며 C 언어에서 기본으로 사용하는 입출력 함수가 들어있습니다. 출력 함수인 printf 함수도 여기 포함됩니다. 5~8행처럼 main 함수 내에서 printf 함수를 호출하면 여러 형태의 값을 출력할 수 있는데, printf 함수.. 2021. 5. 2.
[C언어] main 함수 구조, 주석문 C언어 main 함수 구조, 주석문 /* 작성자 : 에파 제목 : 15와 20을 더하는 프로그램 */ int main(void) { 15 + 20; // 15 와 20을 더한다. return 0; // 프로그램 종료 } 함수는 머리와 몸통으로 구성됩니다. 4행이 머리이며, 5~9행(중괄호 안)이 몸통입니다. 머리는 함수 원형(function prototype)이라고 하며 함수의 이름 및 필요한 데이터 등을 표시합니다. 몸통에는 함수에서 실행할 일들을 작성합니다. 위 예제와 같이 한 행을 비워 가독성을 높일 수도 있습니다. 몸통의 마지막에 return 0; 을 넣어 프로그램을 종료합니다. 몸통의 함수 실행 코드를 작성 시 다음과 같은 규칙이 있습니다. 세미콜론(;)을 사용하여 문장의 끝을 표시합니다. 세미.. 2021. 5. 1.
알고리즘 패러다임 / Divide and Conquer [1/2] 알고리즘 패러다임 / Divide and Conquer Divide and Conquer (분할 정복) : 하나의 문제를 해결하기 위해 여러 가지 부분문제로 나누고 부분문제들을 정복한 뒤 부분문제들을 합쳐서 문제를 해결한다. (문제를 정복하다 : 문제에 대한 답을 알아내다) def consecutive_sum(start, end): if end == start: return start mid = (start + end) // 2 return consecutive_sum(start, mid) + consecutive_sum(mid + 1, end) # 테스트 print(consecutive_sum(1, 10)) print(consecutive_sum(1, 100)) print(consecutive_sum(.. 2021. 4. 1.
알고리즘 패러다임 / Brute Force 알고리즘 패러다임 / Brute Force 알고리즘 패러다임 : 자주 나타나는 알고리즘 접근법 Brute Force : 가장 순진한 알고리즘 접근법 (모든 경우의 수의 값을 다 구해서 정답을 도출) Brute Force 의 장점 : 직관적이고 명확하다. 답을 확실하게 찾을 수 있다. 인풋이 엄청 큰 경우에는 Brute Force 알고리즘을 쓰면 오래걸리겠지만, 효율적인 알고리즘의 항상 첫 시작은 Brute Force 이다. Brute Force 방법으로 알고리즘을 한번 생각해보고 거기서부터 발전을 시키는 것이다. 이것이 Brute Force 이해의 필요성이다. def max_product(left_cards, right_cards): new_cards = [] for i in left_cards: for.. 2021. 3. 31.
재귀 함수 / 재귀 함수 재귀 함수 / 재귀 함수 재귀 함수 (Recursive Function) 자기 자신을 호출하는 함수 def countdown(n): if n > 0: print(n) countdown(n - 1) countdown(4) # #4 #3 #2 #1 재귀 활용 예시 재귀적으로 문제를 푼다는 것 = 같은 형태의 더 작은 문제를 푸는 것 = 부분 문제의 답을 이용해서 기존 문제를 푸는 것 팩토리얼(!) 예제 5! = 1 x 2 x 3 x 4 x 5 = 120 4! = 1 x 2 x 3 x 4 = 24 0! = 1 n! 에서 n = 0 인 경우, n! = 1 (base case) n! 에서 n > 0 인 경우, n! = (n-1)! x n (recursive case) def factorial(n): if n ==.. 2021. 3. 30.