분류 전체보기

개발 기록/C Language

[C언어] 이중 for문 직각삼각형 출력하기 | Right Triangle

#include #pragma warning (disable : 4996) void printTriangle(int n) { for (int i = 0; i < n; i++) { for (int j = 0; j

개발 기록/C Language

[C언어] 매개변수와 인수의 차이 | Parameter

우리는 함수를 접하기 시작하면서 매개변수와 인수라는 단어들을 많이 들어오고, 많이 사용해왔다. 그럼 매개변수와 인수의 정확한 차이는 뭘까? 매개변수는 함수 밖에서 전달된 값이 저장되는 변수이다. int add(int a, int b) { return a + b; } 위 코드에서 int a와 int b의 a,b가 매개변수이다. 인수는 함수를 호출할 때 괄호 안에 써서 전달하는 값이나 변수를 말하는 것이다. add(5, 3); 이 코드에서 괄호 안에 있는 5와 3이 인수이다.

개발 기록/C Language

[C언어] Call By Value와 Call By Reference | 값에 의한 호출, 참조에 의한 호출 | 함수 인수로 주소값 전달

#include void swap1(int, int); // call by value void swap2(int*, int*); // call by reference int main(void) { int a = 5, b = 8; printf("a = %d, b = %d\n", a, b); swap1(a, b); // 값에 의한 호출 printf("a = %d, b = %d\n", a, b); swap2(&a, &b); // 참조에 의한 호출 printf("a = %d, b = %d\n", a, b); return 0; } void swap1(int a, int b) { int temp = a; a = b; b = temp; } void swap2(int* a, int* b) { int temp = *a;..

개발 기록/C Language

[C언어] 선택 정렬 알고리즘 구현 | Selection Sort

선택 정렬은 아래 그림처럼 맨 앞의 수부터 제일 작은 수를 비교해 앞으로 보내는 과정을 반복하는 것이다. 현재 인덱스와 뒤의 가장 작은 값의 인덱스를 선택하여 교체하는 것에서 선택 정렬이라고 한다. #define _CRT_SECURE_NO_WARNINGS #include // 배열 출력 함수 void printArr(int value[], int n) { for (int i = 0; i < n; i++) printf("%3d", value[i]); printf("\n"); } // 선택 정렬 실행 함수 void selectionSort(int* value, int n) { int i, j; int min = 0; int temp = 0; // swap에 쓰기 위한 변수 (임시) // i for문 : fo..

개발 기록/C Language

[C언어] 버블 정렬 오름차순 알고리즘 구현 | Bubble Sort

버블 정렬은 사람이 이해하기 쉬운 정렬이면서, 가성비가 좋지 않은 정렬이다. 버블 정렬의 원리는 배열의 앞뒤 값을 비교하면서, 큰 값을 뒤로 넘기는 과정을 반복하는 것이다. #define _CRT_SECURE_NO_WARNINGS #include void BubbleSort(int arr[], int len); int main(void) { int arr[5] = { 4, 6, 1, 3, 9 }; int i; BubbleSort(arr, 5); // 정렬이 된 후 출력 for (i = 0; i < 5; i++) printf("%d ", arr[i]); return 0; } void BubbleSort(int arr[], int len) { int temp; for (int i = 0; i < len - ..

개발 기록/C Language

[C언어] 달팽이 배열 만들기 | Snail Array

#define _CRT_SECURE_NO_WARNINGS #include #define SIDE 100 int arr[SIDE][SIDE]; // arr[100][100] void printarr(int n) { int i, j; for (i = 0; i 0) { for (i = 0; i < n; i++) { col += inc; arr[row][col..

개발 기록/PYTHON

[PYTHON] 파이썬 리스트 쉬운 설명으로 쉽게 이해하기 | List

우리는 파이썬을 배우면서 숫자와 문자열로 프로그래밍을 해왔다. 하지만 숫자가 많을 때에는 불편하지 않았는가? 예를 들어, 2,4,6,8,10 짝수를 저장해야 한다고 했을 때, 변수 하나에 2, 변수 하나에 4.... 이렇게 하면 코드의 가독성이 떨어질 뿐 아니라, 귀한 시간을 낭비하게 된다. 그래서 우리는 리스트라는 것을 배워 이런 불편함을 해소할 것이다. even = [2, 4, 6, 8, 10] 이런 것이 바로 리스트이다. 다른 프로그래밍 언어에서는 배열이라고도 한다. (하지만 모든 자료형을 포함시킬 수 있다는 것이 배열과 리스트의 차이점이다.) 리스트명 = [요소1, 요소2, 요소3, .... ] list1 = [] # list1 = list()와 같다. list2 = [1, 2, 3] list3 ..

개발 기록/PYTHON

[PYTHON] 파이썬 문자열 슬라이싱 | String Slicing

[PYTHON] 파이썬 문자열 인덱싱 | String Indexing인덱싱(Indexing)이란 무언가를 '가리킨다'는 의미이다. a = "Python" a[1] 위에서 a[1]이 뜻하는 것은 a 문자열의 1번째 값이다. 하지만 P가 나오지 않고 y가 나온다. 그 이유는, "파이썬은 0부터 숫자를 세white-world.tistory.com위 글에서는 문자열 인덱싱에 대해 살펴봤다.문자열 인덱싱은 한 문자를 뽑아내는 방법이었는데,한 단어 혹은 한 부분을 한꺼번에 뽑아내는 방법은 없을까? a = "Python"b = a[0] + a[1]print(b) # Py이 예제에서처럼 하면 뽑아낼 수 있다.하지만 더 간단한 방법이 있다.  a = "Python"print(a[0:2]) # Py이것이 바로 슬라이싱..

개발 기록/PYTHON

[PYTHON] 파이썬 문자열 인덱싱 | String Indexing

인덱싱(Indexing)이란 무언가를 '가리킨다'는 의미이다. a = "Python" a[1] 위에서 a[1]이 뜻하는 것은 a 문자열의 1번째 값이다. 하지만 P가 나오지 않고 y가 나온다. 그 이유는, "파이썬은 0부터 숫자를 세기 때문"이다. 위처럼 a[번호]는 문자열 안의 특정한 값을 뽑아낸다. a = "Python" a[0] # P a[1] # y a[2] # t a[3] # h a[4] # o a[5] # n a[-1] # n (뒤에서부터 첫번째 문자) a[-0] # P (0과 -0은 같기 때문에, a[0]과 a[-0]도 같음.) a[-2] # o (뒤에서부터 두번째 문자)

개발 기록/PYTHON

[PYTHON] sort 함수와 sorted 함수 차이점 | 정렬 SORT

sort()와 sorted()는 둘 다 리스트 정렬을 위해 사용된다. 그럼 차이점은 무엇일까? SORT myList = [3, 2, 1, 5, 4] myList.sort() print(myList) sort()는 정렬한 값을 myList에 저장한다. myList = [3, 2, 1, 5, 4] print(myList.sort()) 그러나 이 예제처럼 print()안에 쓴다면 정렬된 리스트가 아닌 None이 나온다. .sort()를 쓴다면 print하기 전에 써야 한다. SORTED myList = [3, 2, 1, 5, 4] print(sorted(myList)) print(myList) 이 sorted는 리스트이름.sort()한 것과 달리 sorted() 괄호 안에 리스트 이름을 넣는다. 이것의 장점은..

개발 기록/PYTHON

[PYTHON] 학생 이름을 입력, 정렬하여 출력하기 | List , for , end , input , split , sort

# [입력] 홍길동 강감찬 이순신 # [출력] 강감찬 이순신 홍길동 students = list(input().split()) students.sort() for i in students: print(i, end=' ')

개발 기록/PYTHON

[PYTHON] 파이썬 리스트 자료형, 정렬 | List , sort , sorted , split , map

C언어를 배워봤다면, 리스트보다는 배열이란 이름에 익숙할 것이다. 파이썬에서는 리스트가 배열 역할을 한다. (아직 배열이란 것을 몰라도 된다.) 리스트는 숫자 등의 모음을 다음과 같이 간단하게 표현 가능하다. even = [2, 4, 6, 8, 10] 리스트를 만들 때는 대괄호([ ]) 로 감싸 주고, 각 요솟값은 쉼표( , )로 구분한다. 리스트명 = [요소1, 요소2, 요소3, ... ] 처럼 말이다. a = [] # a = list()와 같다 b = [1, 2, 3] c = ['Kim', 'Park', 'Sin'] d = [1, 3, 'Python', 5] e = [1, 2, ['py', 'thon']] 이 예제에서처럼 리스트에서는 다양한 자료형을 집어넣을 수 있다. 빈 리스트, 숫자를 가진 리스트..

개발 기록/PYTHON

[PYTHON] 파이썬 입력 | input

출력은 print()이다. 입력은 무엇일까? name = input() print('My name is ', name) name1 = input('이름을 입력 : ') print('My name is ', name1) 바로 input()을 쓰면 된다. 단순히 input()만 쓰면 입력하라는 문구 없이 바로 입력해야하고, input('입력하세요 : ')는 입력하세요 : 뒤에 입력하면 된다. name = list(input().split()) print('Middle name is', name[1]) name이라는 리스트(배열)에 이름들을 집어넣은 것이다. 여기서 input()은 입력, split()은 공백을 단위로 자르는 것, list()는 리스트 형태로 만드는 것이다. 그래서 리스트(배열)의 0번째값이 ..

개발 기록/PYTHON

[PYTHON] 파이썬 함수 작성하기 | def

#자신의 이름을 출력하는 함수 print_myName()를 만드시오 def print_name(name): print('HI', name) def print_name1(name): print(f'HI, {name}') print_name('kim') print_name1('kim') def라는 예약어를 사용하여 def 함수명(인수): print(출력할 것) 의 형식으로 작성하면 된다.

개발 기록/PYTHON

[PYTHON] 파이썬 숫자 | 정수형, 실수형, 8진수, 16진수, 사칙연산, 제곱

숫자형은 숫자 형태의 자료형이다. 항목 파이썬 사용 예 정수 123, -123, 0 실수 153.23, -32.4, 5.4e10 8진수 0o34 16진수 0x2A, 0xEF 정수형 a = 1 a = 5 a = -2 a = 0 실수형 a = 5.3 a = -5.2 # 컴퓨터식 지수 표현 방식 a = 2.4E10 # 2.4 * 10의 10제곱 8진수 a = 0o177 16진수 a = 0x8ff b - 0xCDE 사칙연산 a = 5 b = 2 print(a + b) print(a * b) print(a / b) print(a ** b) print(a % b) print(a // b) +는 더하기 -는 빼기 *는 곱하기 /는 나누기 **는 a의 b제곱 %는 나눴을 때 나머지 //는 나눴을 때 몫(정수값)