📌 {딕셔너리} 연관성이 없는 값을 일렬로 늘어놓은 형태인 리스트, 튜플과 다르게 딕셔너리는 행과 열을 가지며 값 사이에 연관성이 존재한다. 데이터(value)마다 이름(key)을 붙여서 저장하는 방식을 사용한다. key와 value를 한 쌍으로 묶어 요소 하나로 본다. 📍 데이터 형에 상관없이 여러 값을 저장할 수 있다 = 모든 객체의 시퀀스. 📍 key(불변)와 value(가변)가 한 쌍을 이루어 딕셔너리의 요소 하나가 된다. 📍 key는 문자열뿐만 아니라 정수, 실수, 불도 사용할 수 있다. 하나의 데이터형으로 통일할 필요는 없다. 📍 단, key에 리스트와 딕셔너리를 사용할 수 없다. key는 불변 값이므로 튜플만 가능하다. 📍 key를 사용한 탐색이 가능하므로 탐색에 용이하다. 📍 2차원 배열의..
📌 (튜플) 리스트처럼 요소를 일렬로 저장한다. 리스트와 거의 비슷하지만 안에 저장된 요소를 변경, 추가, 삭제를 할 수 없다는 차이점이 있다. 위도 경도 좌표, RGB 색상표처럼 변하지 않는 값을 저장하기 위해 사용하며, 작은 규모의 자료 구조 구성에 적합하다. 📍 데이터 형에 상관없이 여러 값을 저장할 수 있다 = 모든 객체의 시퀀스 📍 요소의 변경, 추가, 삭제가 불가능하다 → 읽기 전용 리스트 📍 튜플 명으로 출력 시 (소괄호)까지 출력된다. 📍 값을 저장할 때 (소괄호)와 콤마를 사용하면 튜플이 되는데, 괄호를 생략할 수 있다 📍 첨자를 사용해 튜플 요소에 접근할 수 있다. (튜플 길이보다 큰 index를 사용하려고 하면 에러 발생) 👉 튜플 만들기 (튜플 패킹) ✔ 튜플 패킹 : 여러 데이터를..
📌 [리스트] 배열처럼 여러 값을 한 번에 저장하기 위해 리스트를 사용한다. 리스트는 말 그대로 목록이라는 뜻이고, 값을 일렬로 늘어놓은 형태이다. 📍 데이터 형에 상관없이 여러 값을 저장할 수 있다 = 모든 객체의 시퀀스 📍 리스트와 리스트 사이의 덧셈이 가능하다. ( extend메서드와 같은 역할 ) 📍 리스트 명으로 출력 시 [대괄호]까지 출력된다. 📍 첨자를 사용해 리스트에 저장된 값에 접근할 수 있다 (리스트 길이보다 큰 index를 사용하려고 하면 에러 발생) 👉 리스트 만들기 (리스트 패킹) ✔ 리스트 패킹 : 여러 데이터를 리스트로 묶는 것 ↔ 리스트 언패킹 : 리스트로 묶은 데이터 뿌리기 listA = [ 1, 2, 3, 4, 5 ] profile = ['짱구', 5, '해바라기반', 1..
👉 조건문 - if문 if 조건식 : 명령문 ✔ 조건문은 특정 조건에 코드를 실행하는 문법이다. ✔ 파이썬은 세미콜론도 중괄호도 사용하지 않으니 들여 쓰기를 통해 구분해주어야 한다. ✔ 조건문에는 비교 연산자 ( >, =, 0 : print('입력한 정수 %d = 양수' %num) elif num==0 : print('입력한 정수 = 0') else : print('입력한 정수 {} = 음수' .format(num)) ✔ if-elif-else문을 사용해서 입력받은 정수가 양수인지 음수인지 아니면 0인지를 판별해 출력 if not 0: print('참') # not 0은 참 if not None: print('참') # None은 참 if not '': print('참') # not 빈 문자열은 참 ✔ ..
👉 비트 연산자 비트 연산자 & 논리 곱 (AND) 연산자 피연산자 의 값이 모두 1이면 1을 반환 | 논리 합 (OR) 연산자 피연산자 중 한 쪽의 값이 1이면 1을 반환 ^ 배타적 논리합(XOR) 연산자 피연산자 중 값이 서로 다를 때 1을 반환 ~ 보수(NOT) 연산자 피연산자를 0은 1로, 1은 0으로 반전 비트를 오른쪽으로 한 칸 이동 첫 번째 피 연산자의 비트를 두 번째 피연산자의 수(n)만큼 오른쪽으로 이동 ※주의※ 부호연산자는 유지된다 ✔ 비트 연산자는 단순 정수형 변수에만 사용할 수 있다. ✔ 논리 시프트 : 무조건 0으로 채워준다 ✔ 산술 시프트 : 이동 후, 빈 공간을 부호 비트로 채워준다 (파이썬) n1001 0000 0000 0100 n>>1 1100 1000 0000 0010 n..
👉 문자열 (String) 📌 문자열 개념을 같이 다루고 싶어서 가져옴 (01-2. 데이터형 내용과 동일) str1, str2, str3, str4, str5 = 'a', 'abc', '가나다', 'hello wolrd!', '010-1234-5678' ✔ 하나 또는 여러 문자로 구성된다. 문자열은 단 따옴표나 큰따옴표로 감싼다. ✔ 다른 형태의 데이터 타입이어도 따옴표로 감싸면 문자열로 인지한다. ✔ 다른 프로그래밍 언어와 달리 char형은 존재하지 않으며, 항상 문자열 즉 문자의 배열 형태로 저장된다. str1 = 'ab' print(str1)#ab print(str1[0])#a print(str1[1])#b str2 = 'a' print(str2)#a print(str2[0])#a ✔ 문자열은 항상..
👉 자주 쓰이는 데이터 형 숫자 정수(int) -30, -46656, 0, 23, 333 ... 실수(float) -0.3737, -376.0, 0, 3.14, 256.333 ... 복소수(complex) 실수와 허수의 합의 꼴로써 나타내는 수 문자열(string) 'a', 'b', 'abc', 'apple', 'I am happy!', “안녕하세요” 불(boolean) True, False 리스트 ['홍길동', 32, '010-2222-3333', 'hong@korea.com'] 튜플 ('짜장면', '짬뽕', '탕수육', '우동') 딕셔너리 {'red':'빨간색', 'yellow':'노란색', 'blue':'파란색', 'green':'초록색'} 👉 정수형 (Integer) n1, n2, n3, n4, ..
📌 파이썬 1991년 네덜란드의 귀도 반 로섬이 개발. 인공지능, 빅 데이터, 웹 서버, 과학 연산, 사물 인터넷 등에서 주로 사용된다. 프로그래밍 언어 중 직관적이고 쉬운 언어에 속한다. 👉 프로그램 개발 툴 1. 기본 개발 툴(IDLE) ✔ 파이썬 공식 사이트에서 제공하는 기본 개발 툴, 파이썬 쉘 + IDLE 에디터로 간단한 프로그램 개발에 적합하다. 2. 주피터 노트북(jupyter Notebook) ✔ 오픈 소스로 단순하면서도 강력한 개발 툴. 특히 데이터 분석, 시각화, 머신러닝 등의 과학용 프로그램 개발에 적합 3. 파이참(Pycharm) ✔ 제트 브레인즈(JetBrains)사에서 개발한 프로그램으로 웹, 게임, 영상 처리 등 다양한 프로그램의 개발 가능 ✔ 다른 툴에 비해 프로그램이 다소 ..
인생 첫 스터디어서 걱정도 부담도 많이 가진 채로 시작했다. (코칭 스터디는 제외 ㅎㅎ) 코칭스터디를 통해서 이미 알고 있던 개념들도 있었는데, 다른 사람에게 설명해야 한다는 생각을 하니 하나하나 새롭게 느껴졌다. 그래서 더 심도 깊게 (아직 부족하지만) C언어를 공부할 수 있었다. 그리고 함께한 분들 덕분에 한 달 동안 매일 아침을 새로운 마음가짐으로 하루를 시작할 수 있었고, 미루고 미루던 블로그와 깃허브를 시작할 수 있었다. 라피신을 위해 시작한 C언어 스터디였지만 더 많은 것을 얻었다. 그동안 정말 즐거웠다! 👍👍
예제 1. 연결리스트 #include struct abc { // 구조체 정의 int data; struct abc *next; // 자기 참조 구조체 }; int main() { struct abc x; struct abc y; struct abc z; x.data = 10; y.data = 20; z.data = 30; x.next = &y; y.next = &z; z.next = NULL; struct abc *p; for (p = &x; p; p=p->next){ printf("%d\n", p->data); } printf("구조체 y 삭제 후 \n"); x.next = y.next; y.next = NULL; for (p = &x; p; p=p->next){ printf("%d\n", p->da..