[Linux]부트캠프 - 파일 및 폴더 생성
파일 및 폴더 생성
SIZE = 5
queue = [None for _ in range(SIZE)] # list_comprehension으로 queue 생성
front = rear = -1
def isQueueFull(): # 큐가 꽉찼는지 확인하는 함수
global SIZE, queue, front, rear
if (rear != SIZE-1):
return False
elif (rear == SIZE-1 and front == -1): # front가 출구 끝이면
return True
else:
for i in range(front+1, SIZE) :
queue[i-1] = queue[i]
queue[i] = None
front -= 1
rear -= 1
return False
# 출구 쪽 None 공간으로 남은 값들을 밀어줘 새로운 값이 들어갈 수 있도록 해줌
def isQueueEmpty(): # 큐가 비었는지 확인하는 함수
global SIZE, queue, front, rear
if (rear == front):
return True
else:
return False
def enQueue(data): # 큐에 데이터를 넣는 함수
global SIZE, queue, front, rear
if (isQueueFull()):
print('큐가 꽉 찼습니다.')
return
rear += 1
queue[rear] = data
def deQueue(): # 큐에서 데이터를 빼는 함수
global SIZE, queue, front, rear
if isQueueEmpty():
print('큐가 비었습니다.')
return None
front += 1
data = queue[front]
queue[front] = None
return data
def peek(): # 다음 나올 데이터를 알려주는 함수
global SIZE, queue, front, rear
if isQueueEmpty():
print('큐가 비었습니다.')
return None
return queue[front+1]
enQueue('화사')
enQueue('솔라')
enQueue('문별')
enQueue('선미')
enQueue('동준')
print('출구<-----',queue,'<-----입구')
print('밥 손님 : ', deQueue())
print('밥 손님 : ', deQueue())
print(queue) # 출구쪽 공간 0과 1이 None
enQueue('아이유') # 아이유가 들어갈 수 있도록 앞의 값들의 위치가 1씩 줄어듬
print('출구<-----',queue,'<-----입구')
출구<----- ['화사', '솔라', '문별', '선미', '동준'] <-----입구
밥 손님 : 화사
밥 손님 : 솔라
[None, None, '문별', '선미', '동준']
출구<----- [None, '문별', '선미', '동준', '아이유'] <-----입구
% 큐의크기
를 사용해 그 점을 방지하는 것이 원형 큐다.SIZE = 5
queue = [None for _ in range(SIZE)] # list_comprehension으로 queue 생성
front = rear = -1
def isQueueEmpty(): # 큐가 비었는지 확인하는 함수
global SIZE, queue, front, rear
if (rear == front):
return True
else:
return False
def isQueueFull(): # 큐가 꽉찼는지 확인하는 함수
global SIZE, queue, front, rear
if ((rear+1) % SIZE == front):
return True
else:
return False
def enQueue(data): # 큐에 데이터를 넣는 함수
global SIZE, queue, front, rear
if (isQueueFull()):
print('큐가 꽉 찼습니다.')
return
rear = (rear + 1) % SIZE
queue[rear] = data
def deQueue(): # 큐에서 데이터를 빼는 함수
global SIZE, queue, front, rear
if isQueueEmpty():
print('큐가 비었습니다.')
return None
front = (front+1) % SIZE
data = queue[front]
queue[front] = None
return data
def peek(): # 다음 나올 데이터를 알려주는 함수
global SIZE, queue, front, rear
if isQueueEmpty():
print('큐가 비었습니다.')
return None
return queue[(front+1) % SIZE]
enQueue('화사')
enQueue('솔라')
enQueue('문별')
enQueue('선미')
enQueue('동준')
print(queue)
print('밥 손님 : ', deQueue())
print('밥 손님 : ', deQueue())
print(queue)
enQueue('아이유')
print(queue)
print('밥 손님 : ', deQueue())
enQueue('박진영')
print(queue)
print('밥 손님 : ', deQueue())
enQueue('백종원')
print(queue)
print('밥 손님 : ', deQueue())
print('밥 손님 : ', deQueue())
enQueue('유재석')
print(queue)
['화사', '솔라', '문별', '선미', '동준']
밥 손님 : 화사
밥 손님 : 솔라
[None, None, '문별', '선미', '동준']
['아이유', None, '문별', '선미', '동준']
밥 손님 : 문별
['아이유', '박진영', None, '선미', '동준']
밥 손님 : 선미
['아이유', '박진영', '백종원', None, '동준']
밥 손님 : 동준
밥 손님 : 아이유
[None, '박진영', '백종원', '유재석', None]
class TreeNode():
def __init__(self):
self.left = None
self.data = None
self.right = None
node1 = TreeNode()
node1.data = '화사'
node2 = TreeNode()
node2.data = '솔라'
node1.left = node2
node3 = TreeNode()
node3.data = '문별'
node1.right = node3
node4 = TreeNode()
node4.data = '휘인'
node2.left = node4
node5 = TreeNode()
node5.data = '쯔위'
node2.right = node5
node6 = TreeNode()
node6.data = '선미'
node3.left = node6
print(node1.data)
print(node1.left.data, node1.right.data)
print(node1.left.left.data, node1.left.right.data, node1.right.left.data)
화사
솔라 문별
휘인 쯔위 선미
memory = []
root = None
nameAry = ['블랙핑크','레드벨벳','마마무','에이핑크','트와이스']
class TreeNode():
def __init__(self):
self.left = None
self.data = None
self.right = None
# 첫 노드 생성
node = TreeNode()
node.data = nameAry[0]
root = node
memory.append(node)
for name in nameAry[1:]: # 레드벨벳부터
node = TreeNode()
node.data = name
current = root
while True:
if name < current.data :
if current.left == None:
current.left = node
break
current = current.left
else:
if current.right == None:
current.right = node
break
current = current.right
memory.append(node)
print('이진 탐색트리 완료!')
이진 탐색트리 완료!
findData = '마마무'
current = root
while True:
if current.data == findData :
print(findData, '찾음^^')
break
elif current.data > findData:
if current.left == None:
print(findData, '이 트리에 없음')
break
current = current.left
else:
if current.right == None:
print(findData, '이 트리에 없음')
break
current = current.right
마마무 찾음^^
간선(Edge)
에 방향성이 없는 그래프class Graph():
def __init__(self, size): # size = 정점의 개수
self.SIZE = size
self.graph = [ [0 for _ in range(size)] for _ in range(size)]
G = None
G = Graph(4)
G.graph[0][1] = 1; G.graph[0][2] = 1; G.graph[0][3] = 1
G.graph[1][0] = 1; G.graph[0][2] = 1;
G.graph[2][0] = 1; G.graph[2][1] = 1; G.graph[2][3] = 1
G.graph[3][0] = 1; G.graph[3][2] = 1
for row in range(4):
for col in range(4):
print(G.graph[row][col], end = ' ')
print()
0 1 1 1
1 0 0 0
1 1 0 1
1 0 1 0
재료
로 요리를 하는 과정이 알고리즘
def findMinIndex(ary) : # 최소값의 위치를 찾는 함수
minIdx = 0
for i in range(1, len(ary)):
if (ary[minIdx] > ary[i]):
minIdx = i
return minIdx
# testAry = [55, 88, 33, 77]
import random
testAry = [ random.randint(0,99) for _ in range(20)]
print(testAry)
minPos = findMinIndex(testAry)
print('최솟값', testAry[minPos])
[30, 68, 32, 38, 7, 20, 98, 13, 67, 19, 81, 48, 59, 52, 19, 30, 57, 70, 31, 90]
최솟값 7
import random
before = [ random.randint(100, 200) for _ in range(10)]
after = []
def findMinIndex(ary) :
minIdx = 0
for i in range(1, len(ary)):
if (ary[minIdx] > ary[i]):
minIdx = i
return minIdx
print('정렬 전 -->', before)
for _ in range(len(before)):
minPos = findMinIndex(before)
after.append(before[minPos])
del(before[minPos])
print('정렬 후 -->', after)
정렬 전 --> [142, 196, 193, 177, 138, 105, 102, 127, 173, 194]
정렬 후 --> [102, 105, 127, 138, 142, 173, 177, 193, 194, 196]
import random
dataAry = [random.randint(100,200) for _ in range(10)]
def selectionSort(ary):
n = len(ary)
for cy in range(0, n-1):
minIdx = cy
for i in range(cy+1, n):
if (ary[minIdx] > ary[i]):
minIdx = i
ary[cy], ary[minIdx] = ary[minIdx], ary[cy]
return ary
print('정렬 전-->', dataAry)
dataAry = selectionSort(dataAry)
print('정렬 후-->', dataAry)
정렬 전--> [119, 163, 187, 133, 195, 152, 142, 168, 118, 177]
정렬 후--> [118, 119, 133, 142, 152, 163, 168, 177, 187, 195]
import random
SIZE = 10
dataAry = [random.randint(1,99) for _ in range(10)]
findData = dataAry[random.randint(0, SIZE-1)]
def seqSearch(ary, fData):
pos = -1
size = len(ary)
for i in range(0, size, 1):
if (ary[i] == fData):
pos = i
break
return pos
print('배열-->', dataAry)
position = seqSearch(dataAry, findData)
if position == -1:
print(findData, '없어요 ㅠ')
else:
print(findData, '가', position, ' 에 있음')
배열--> [7, 45, 32, 60, 31, 81, 82, 97, 74, 80]
31 가 4 에 있음
import random
SIZE = 10
dataAry = [random.randint(1,99) for _ in range(SIZE)]
findData = dataAry[random.randint(0, SIZE-1)]
dataAry.sort()
def binSearch(ary, fData):
pos = -1
start = 0
end = len(ary) - 1
while (start <= end):
mid = (start + end) // 2
if fData == ary[mid]:
return mid
elif fData > ary[mid]:
start = mid + 1
else:
end = mid - 1
return pos
print('배열-->', dataAry)
position = binSearch(dataAry, findData)
if position == -1:
print(findData, '없어요 ㅠ')
else:
print(findData, '가', position, ' 에 있음')
배열--> [9, 14, 18, 24, 30, 54, 56, 58, 60, 94]
24 가 3 에 있음
1.무한 반복
def openBox():
print('박스를 엽니다~~~')
openBox()
openBox() # 무한 루프
count = 10 # 10번만 작동하게 변수 작성
def openBox():
global count
print('종이 상자 열기~~~')
count -= 1
if count == 0:
print('** 반지 넣기 **')
return
openBox()
print('종이 상자 닫기!')
return
openBox()
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
종이 상자 열기~~~
** 반지 넣기 **
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
종이 상자 닫기!
def addNumber(num):
if num <= 1:
return 1
return num + addNumber(num-1)
addNumber(10)
55
def factorial(num):
if num <= 1:
return 1
return num * factorial(num-1)
factorial(10)
3628800
def countDown(n):
if n == 0:
print('start!')
else:
print(n)
countDown(n-1)
countDown(10)
10
9
8
7
6
5
4
3
2
1
start!
def printStar(num):
if num > 0:
printStar(num-1)
print('★' * num)
printStar(3)
★
★★
★★★
def ggd(num1, num2):
print(f'{num1} * {num2} = {num1*num2}')
if num2 < 9:
ggd(num1, num2+1)
for i in range(2, 10):
ggd(i, 1)
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
tab = ''
def pow(x, n):
global tab
tab += ' '
if n == 0:
return 1
print(f'{tab}{x}*{x}^{n}-{1}')
return x * pow(x, n-1)
pow(3,3)
3*3^3-1
3*3^2-1
3*3^1-1
27
import random
ary = [random.randint(0, 225) for _ in range(10)]
def arySum(ary, n):
if n <= 0:
return ary[0]
return arySum(ary, n-1) + ary[n]
print(ary)
print('합계 ->', arySum(ary, len(ary)-1))
[20, 185, 8, 166, 205, 68, 83, 123, 192, 220]
합계 -> 1270
파일 및 폴더 생성
파일 시스템 탐색
도움말(man -> manual)
명령어 기초
유닉스(Unix)
특정 코드 지연 실행 - DispatchQueue.main.asyncAfter(deadline: )
Naming Conventions
안드로이드 폰과 맥북에어 M1 USB 테더링 성공
Simulator 풀 스크린 사용 방법
10807번 - 개수 세기
프로그래머스 Lv.1 풀이 코드 모음
프로그래머스 Lv.1 풀이 코드 모음
11047번 - 동전 0
11659번 - 구간 합 구하기 4
14888번 - 연산자 끼워넣기
9184번 - 신나는 함수 실행
24416번 - 알고리즘 수업 - 피보나치 수 1
2580번 - 스도쿠
9663번 - N-Queen
15652번 - N과 M (4)
15651번 - N과 M (3)
15650번 - N과 M (2)
25305번 - 커트라인
25304번 - 영수증
3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰
15649번 - N과 M (1)
2004번 - 조합 0의 개수
1676번 - 팩토리얼 0의 개수
9375번 - 패션왕 신해빈
1010번 - 다리 놓기
11051번 - 이항 계수 2
11050번 - 이항 계수 1
3036번 - 링
2981번 - 검문
1934번 - 최소공배수
2609번 - 최대공약수와 최소공배수
1037번 - 약수
5086번 - 배수와 약수
1358번 - 하키
1004번 - 어린 왕자
1002번 - 터렛
3053번 - 택시 기하학
2477번 - 참외밭
4153번 - 직각삼각형
3009번 - 네 번째 점
1085번 - 직사각형에서 탈출
11478번 - 서로 다른 부분 문자열의 개수
1269번 - 대칭 차집합
1764번 - 듣보잡
10816번 - 숫자 카드 2
1620번 - 나는야 포켓몬 마스터 이다솜
14425번 - 문자열 집합
10815번 - 숫자 카드
18870번 - 좌표 압축
10814번 - 나이순 정렬
1181번 - 단어 정렬
11651번 - 좌표 정렬하기 2
11650번 - 좌표 정렬하기
1427번 - 소트인사이드
2108번 - 통계학
10989번 - 수 정렬하기 3
2751번 - 수 정렬하기 2
2750번 - 수 정렬하기
22.06.25 ~ 27 부산 먹부림 기록
1436번 - 영화감독 숌
1018번 - 체스판 다시 칠하기
7568번 - 덩치
2231번 - 분해합
2798번 - 블랙잭
11729번 - 하노이 탑 이동 순서
2447번 - 별 찍기 - 10
17478번 - 재귀함수가 뭔가요?
10870번 - 피보나치 수 5
10872번 - 팩토리얼
9020번 - 골드바흐의 추측
4948번 - 베르트랑 공준
1929번 - 소수 구하기
11653번 - 소인수분해
2581번 - 소수
1978번 - 소수 찾기
10757번 - 큰 수 A+B
2839번 - 설탕 배달
2775번 - 부녀회장이 될테야
10250번 - ACM 호텔
2869번 - 달팽이는 올라가고 싶다
1193번 - 분수찾기
2292번 - 벌집
1712번 - 손익분기점
1316번 - 그룹 단어 체커
2941번 - 크로아티아 알파벳
5622번 - 다이얼
2908번 - 상수
1152번 - 단어의 개수
1157번 - 단어 공부
2675번 - 문자열 반복
10809번 - 알파벳 찾기
11720번 - 숫자의 합
11654번 - 아스키 코드
1065번 - 한수
4673번 - 셀프 넘버
15596번 - 정수 N개의 합
4344번 - 평균은 넘겠지
8958번 - OX퀴즈
25083번 - 새싹
Spark Bigdata Pipeline
Spark 3일차
Spark 2일차
1546번 - 평균
Spark 1일차
Hadoop🐘
3052번 - 나머지
2577번 - 숫자의 개수
2562번 - 최댓값
10818번 - 최소, 최대
Linux
MongoDB 조회 문제
MongoDB
1110번 - 더하기 사이클
10951번 - A+B - 4
Oracle 3️⃣
ORACLE 연습용 문제 만들기 숙제
10952번 - A+B - 5
Oracle 2️⃣
2480번 - 주사위 세개
Oracle Day1️⃣
Tensorflow
Big Data
2525번 - 오븐 시계
10871번 - X보다 작은 수
2439번 - 별 찍기 - 2
2438번 - 별 찍기 - 1
11022번 - A+B - 8
11021번 - A+B - 7
2742번 - 기찍 N
2741번 - N 찍기
15552번 - 빠른 A+B
8393번 - 합
10950번 - A+B - 3
9️⃣ 2739번 - 구구단
2884번 - 알람 시계
14681번 - 사분면 고르기
⛏크롤링(Crawling)
2753번 - 윤년
Django 복습 4️⃣
Django 복습 3️⃣
💯 9498번 - 시험 성적
1330번 - 두 수 비교하기
✖ 2588번 - 곱셈
➗ 10430번 - 나머지
Django 복습 2️⃣
Django 복습 1
MySQL 복습!
⁉10926번 - ??!
🆎1008번 - A/B
👩🦲 18108번 - 1998년생인 내가 태국에서는 2541년생?!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🎈✨경 축✨🎈
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
선형 자료구조(1일차에 이어서)
🆎10998번 - A×B
🆎1001번 - A-B
🆎1000번 - A+B
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐶10172번 - 개
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐱10171번 - 고양이
[해당 포스트는 유튜버 나동빈님의 영상을 참고했습니다.]
❤10718번 - We love kriii
🖐2557번 - Hello World
Today I Learned(TIL)📌 (2021.12.31)
Today I Learned(TIL)📌 (2021.12.30)
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[noitce!!] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!