Krafton Jungle

[ KJ ] Week01

반응형

1주차는 조금 힘들었습니다. 처음 풀어보는 알고리즘 문제들... 에다가 양이 많기 때문입니다.

게다가 다른 분들보다 확연히 못 푸는 게 느껴졌기 때문에 상대적으로 더 그랬던 거 같습니다.

하지만 알고리즘 문제를 직접 풀어보니 Python 문법에 대해서도 많이 알게 돼서 좋았습니다.

그리고 제가 혼자 하는 거보다 확연히 많은 공부를 하는 게 느껴지고 함께하니 즐겁습니다 :)

 

  • 배열 : 같은 타입의 변수들로 이루어진 유한 집합
  • 유한한 이유는 메모리상에 고정된 크기의 연속된 공간을 갖기 때문에 한 번 생성된 배열의 크기는 변경할 수 없음
  • 선언된 배열의 타입과 각 배열 안에 있는 요소 타입이 일치해야 함
  • 초기화 리스트의 개수가 배열의 총길이보다 적으면, 배열의 앞에서부터 차례대로 초기화
# 생성
a = [1, 2, 3]

# 요소 추가
a.append(4)

# 정렬
a.sort()

# 뒤집기
a.reverse()

# 0번째 위치에 4 넣기
a.insert(0, 4)

# 3 값을 가진 요소의 인덱스 리턴
a.index(3)

# 첫번째로 나오는 3 삭제
a.remove(3)

# 맨 마지막 요소를 리턴하고 해당 요소 삭제 
a.pop()

# 전체에서 1인 요소 개수 리턴
a.count(1)

# a 리스트에 다른 리스트 합치기
a.extend([4, 5])
  • 문자열 : 문자, 단어 등으로 구성된 문자들의 집합열
  • 따옴표 안에 들어있으면 모두 문자열
  • 굳이 따옴표를 여러개로 정의해서 쓰는 이유
# 해당 문자들은 "로 감싸져 있기 때문에 모두 문자열
"Python"
"a"
"1234"

# 문자열에 큰 따옴표 포함
say = '"Python is very easy." she says.'

# 역슬래시를 사용해서 작은따옴표와 큰따옴표를 문자열에 포함
food = 'Python\'s is best'
say = "\"Python is best.\" she says."

# 줄바꿈
multiline = "Python is best.\n she says."
multiline = """
	Python is best.\n she says.
    """
  • 반복문 : 특정한 부분의 코드가 설정한 횟수만큼 반복적으로 수행
test_list = ['one', 'two', 'three'] 
for i in test_list: 
	print(i)
  • 재귀함수 : 자기 자신을 다시 호출하는 함수
def countdown(n):
	if n <= 0:
		print('가라!')
	else:
		print(n)
		countdown(n-1)
  • 복잡도
  • BigO 표기법 : 알고리즘의 실행 시간을 표현하는데 주로 사용되는 수학적 표기법
  • 시간 복잡도 : 어떤 알고리즘이 문제를 해결하는데 얼마나 많은 시간이 필요한지를 나타내는 척도
  • 공간 복잡도 : 어떤 알고리즘이 문제를 해결하는데 얼마나 많은 메모리 공간이 필요한지를 나타내는 척도

 

반응형

'Krafton Jungle' 카테고리의 다른 글

[ KJ ] Week06  (0) 2024.02.29
[ KJ ] Week05  (0) 2024.02.23
[ KJ ] Week04  (0) 2024.02.07
[ KJ ] Week03  (1) 2024.02.01
[ KJ ] Week02  (1) 2024.01.26