Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 이진탐색
- mycli
- 순차탐색
- 인프런워밍업클럽
- 티스토리챌린지
- table status
- 맥
- 터미널
- 스터디2기
- MySQL
- 오블완
- mysql 표 출력
- 욕심쟁이 방법
- zsh theme
- cs
- mysql 표
- 분할정복 방법
- oh-my-zsh
- 동적 프로그래밍 방법
- VI
- 네트워킹데이
- 데이크스트라
- Less
- CS스터디
- 알고리즘
- Pager
- 인프런
- 오일러 경로
- zsh
- spring boot
Archives
- Today
- Total
Develop
알고리즘 공부 시작! 본문
안녕하세요 .ᐟ
부캠에서 알고리즘 평가를 보는데, 공부해본적이 없는지라.. 백지를 내고 속상해서 공부를 해보려고 합니다 🥲
사둔 강의와 책으로 이론 + 문제풀이 식으로 공부할 예정입니다.
일단은 혼자서 시작하고, 팀원분들이나 지인과 스터디를 할 수 있으면 해보겠습니다 .ᐟ
첫날은 언어를 Python 으로 정하고, 해당 문법의 일부를 공부했습니다.
Chapter1. 파이썬 기본 문법
0. 자료형
- Numeric
- int, float, complex
- 정수, 실수, 복소수
- Sequence
- list, tuple, range
- 연속적으로 할당, 관리하는 자료구조
- Set
- set
- 집합을 표현하고 중복값을 허용하지않는 자료구조
- Map
- dict
- 키, 값을 쌍으로 저장하는 자료구조
- Text
- str
- 문자열 (파이썬은 문자와 문자열을 구분하지않음, ‘ ‘ 과 “ “ 중 어느것을 써도 무방함)
- Misc.
- bool, bytes, None
- 기타 데이터 타입
1. 변수
# 변수 선언
이름 = "홍길동"
print(이름) # 홍길동
# 값 변경
이름 = "홍길덩"
print(이름) # 홍길덩
2. 배열
과일들 = ["딸기", "사과", "배"]
# 0 번째 인덱스 출력
print(과일들[0]) # 딸기
3. 반복문
# 반복문을 이용해 딩코딩코를 10번 출력
for 1 in range(10):
print("딩코딩코")
# 과일들 이라는 배열을 반복문을 이용해서 출력
과일들 = ["딸기", "사과", "배"]
for 과일 in 과일들: # 원소를 배열에 하나하나 담아줌
print(과일)
4. 조건문
나이 = 29
# 조건문을 이용해서 나이가 20 이상이라면 "성인입니다"
# 아닐경우, "성인이 아닙니다" 라고 출력
if 나이 >= 20:
print("성인입니다")
else:
print("성인이 아닙니다")
현재시간 = 21
# 조건문을 이용해서 운영시간이 17시 이상 23시 이하라면 "운영시간입니다" 라고 출력
if 운영시간 >= 17 and 운영시간 <= 23:
print("운영시간입니다")
5. 함수
# 함수를 이용해 여러 손님을 대상으로 신분증 검사를 하세요
# 나이가 20 이상이라면 "성인입니다"
# 아니라면 "성인이 아닙니다" 라고 출력
손님1_나이 = 18
손님2_나이 = 30
손님3_나이 = 3
손님4_나이 = 88
# 함수 만들기
def 신분증검사(나이):
if 나이 >= 20:
print("성인입니다")
else:
print("성인이 아닙니다")
# 함수 사용하기
신분증검사(손님1_나이) # print("성인이 아닙니다")
신분증검사(손님1_나이) # print("성인입니다")
신분증검사(손님1_나이) # print("성인이 아닙니다")
신분증검사(손님1_나이) # print("성인입니다")
6. 메서드
- 문자열 내장 메서드(Built in method)
# replace, 치환
>>> a
'python Python'
>>> a = a.replace('python', 'Python')
>>> a
'Python Python'
# split, 문자열 나누기
>>> a.split()
['Python', 'Python']
>>> b = 'Study-Python'
>>> b.split('-')
['Study','Python']
# join, 리스트의 여러 문자열을 하나로 합침 (인수 미지정 시 공백을 추가해 하나의 문자열로 합침)
>>> b = '#'.join(b)
'Study#python'
# upper, 대문자로 모두 변경
>>> b.upper()
'STUDY#PYTHON'
# lower, 소문자로 모두 변경
>>> b.lower()
'study#python'
# strip, 문자열의 특정 문자 제거 (인수 미지정 시 공백을 제거)
>>> a = ' Python '
>>> a.strip()
'Python'
# lstrip, 문자열의 왼쪽 공백 제거 or 특정문자 제거
>>> a = '!!!!!Python!!!!!'
>>> a.lstrip(!)
'Python!!!!!'
# rstrip, 문자열의 오른쪽 공백 제거 or 특정문자 제거
>>> a.rstrip(!)
'Python'
# find, 왼쪽을 기준으로 특정문자가 몇번째 있는지 찾기 (존재하지 않는 문자열을 찾으면 -1을 반환)
>>> a = 'Python is good'
>>> a.find('is')
7
>>> a.find('are') # 존재하지 않으니 -1 반환
-1
# rfind, 오른쪽을 기준으로 특정문자가 몇번째 있는지 찾기
>>> a = 'Python is good'
>>> a.rfind('good')
10
# {}.format , 여러 타입의 값이 들어있는 문자열 생성
>>> a = 10
>>> '{}'.format(a)
'10'
# {:b}, 10진수 -> 2진수의 문자열로 변경
>>> '{:b}'.format(a)
'1010'
>>> '{:032b}'.format(a) # 032 -> 총 32자리로 출력, 모자라면 앞에 0을 채움
'00000000000000000000000000001010'
오늘은 이만 자보겠습니다~
'CS > 알고리즘' 카테고리의 다른 글
| [Algorithm] 알고리즘의 기초 개념과 대표적인 설계 기법 정리 (0) | 2026.02.26 |
|---|