C# 배우기
C#로 프로그래밍 기초를 배워요. 단원마다 실행해 볼 수 있는 예제와 다른 언어와의 차이를 함께 봐요.
기초
4단원흐름 제어
4단원데이터
5단원함수
2단원더 나아가기
10단원- 16사전(맵)열쇠로 값을 찾고 고치기: 단어 세기, 있나 확인, 열쇠 순서로 돌기.
- 17정렬작은 것부터, 큰 것부터, 내가 정한 기준으로 늘어놓기.
- 182차원 목록(격자)줄과 칸으로 된 격자: 읽기, 줄 합·칸 합, 이웃 칸을 범위 안에서만 보기.
- 19문자열 다루기자르기, 찾기, 바꾸기, 앞뒤 공백 다듬기, 비교, 자리 맞추기.
- 20정수와 실수0.1 + 0.2가 0.3이 아닌 이유, 소수 자리 맞추기, 반올림 규칙, 정수 넘침까지.
- 21재귀함수가 자기 자신을 불러요. 바닥 조건, 호출 스택의 깊이, 반복문과 메모까지.
- 22흔한 실수와 오류 메시지오류 메시지 읽는 법과, 어느 언어에서나 나오는 실수들: 한 칸 차이, = 과 ==, 정수 나눗셈, null, 범위 밖 번호.
- 23절댓값·거듭제곱·제곱근부호 떼기, 여러 번 곱하기, 제곱해서 그 수가 되는 값 찾기.
- 24세기, 누적 계산, 묶기한 번 훑으면서 조건에 맞는 것을 세고, 지금까지의 값을 들고 다니고, 열쇠별로 묶어요.
- 25자료 목록과 열거형묶음 자료를 목록에 모으고, 정해진 몇 가지 값에는 이름을 붙여요.
알고리즘
8단원- 26그대로 따라 하기와 모두 해 보기이야기가 시키는 대로 한 걸음씩 따라 하고, 후보를 하나도 빼놓지 않고 넣어 봐요.
- 27스택과 큐나중에 넣은 것부터 꺼내는 스택, 먼저 넣은 것부터 꺼내는 큐.
- 28이분 탐색정렬된 범위를 반씩 버리면서 값이나 조건을 처음 만족하는 자리를 찾아요.
- 29누적 합과 두 포인터구간의 합을 뺄셈 한 번으로 구하고, 두 자리를 앞으로만 옮기며 구간을 찾아요.
- 30최대공약수, 소수, 진법나머지로 최대공약수를 구하고, 체로 소수를 걸러 내고, 수를 다른 진법으로 써요.
- 31욕심쟁이와 우선순위 큐그때그때 가장 좋아 보이는 것을 고르고, 가장 작은 값을 바로 내주는 큐를 써요.
- 32그래프와 깊이 우선 탐색누가 누구와 이어져 있는지 적어 두고, 닿는 곳을 빠짐없이 찾아가기.
- 33너비 우선 탐색과 위상 정렬큐로 가까운 곳부터 넓혀 가장 적은 걸음 수를 구하고, 먼저 할 일이 앞에 오게 줄을 세워요.
언어마다 다른 것
4단원- 36구조체C# · C++ · C관련된 값을 한 덩어리로 묶고, 그 덩어리가 복사되는지 공유되는지 알아 둬요.
- 37클래스와 객체Python · JavaScript · TypeScript · Java · C# · C++데이터(필드)와 동작(메서드)을 한 틀에 묶고, 그 틀로 객체를 여러 개 만들어요.
- 38인터페이스와 제네릭TypeScript · Java · C#인터페이스로 "이런 메서드가 있다"는 약속을 정하고, 제네릭으로 한 함수를 여러 타입에 써요.
- 39LINQ와 스트림Java · C#거르기·바꾸기·묶기·정렬을 반복문 대신 한 줄짜리 파이프라인으로 이어 써요.