-
2022.06.28
[Python] 1차원/2차원 배열의 중앙값 계산하기
1차원/2차원 배열의 중앙값 계산하기 들어가며 이용하여 1차원 또는 2차원 배열의 중앙값을 계산해보자. 2차원 배열의 경우, 1차원 배열로 만든 후, 정렬하는 방법을 사용한다. 중앙값(Median) 데이터를 일렬로 정렬해서 나열한 후, 나열된 숫자의 가운데에 위치하는 값을 대푯값으로 하는 방법 중앙값을 구하려면 우선 데이터를 오름차순 또는 내림차순으로 정렬해야 한다. 데이터의 개수가 짝수 개인 경우, 중앙값을 (개수/2) 또는 (개수/2 - 1) 어느 것을 해도 된다. 프로그램 구현 ① : 1차원 배열의 중앙값 계산하기 선택 정렬(Selection Sort)을 이용하여 중앙값을 계산해본다. def selectionSort(ary) : n = len(ary) for i in range(0, n-1) : m..
-
2022.06.16
[Python] 10진수를 2진수/8진수/16진수로 변환하기
10진수를 2진수/8진수/16진수로 변환하기 들어가며 재귀(Recursion) 함수를 이용하여 간단하게 10진수를 2진수/8진수/16진수로 변환하는 프로그램을 작성할 수 있다. 프로그램 구현 0부터 F(15)까지의 문자를 리스트에 순서대로 넣어준 후, 필요할 때마다 리스트의 인덱스에 접근하여 나타내도록 하면 된다. def notation(base, n) : if n < base : print(numberChar[n], end = ' ') else : notation(base, n // base) print(numberChar[n % base], end = ' ') numberChar = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] numberChar += [..
-
2022.06.16
[Python] 회문/팰린드롬(Palindrome) 판단하기
회문/팰린드롬(Palindrome) 판단하기 들어가며 회문(Palindrome) : 앞에서부터 읽든 뒤에서부터 읽든 동일한 단어나 문장 대·소문자는 구분하지 않고, 공백이나 특수 문자는 제외한다. 첫 글자와 마지막 글자를 비교하여 같으면 회문일 수 있고, 다르면 회문이 아니다. 비교하지 않은 글자가 한 글자 이하이면 회문으로 확정하고, 한 글자 이하가 아니면 첫 글자는 다음 글자로 마지막 글자는 바로 앞 글자로 이동하는 식으로 비교하고 확인하는 과정을 반복한다. 회문인 예 회문이 아닌 예 프로그램 구현 재귀 함수를 이용하여 팰린드롬의 여부를 확인하는 프로그램을 작성할 수 있다. def palindrome(pStr) : if len(pStr) X kayak--> O Borrow or rob--> O 주유소..
-
2022.05.30
[Python] 괄호 매칭 검사 프로그램
괄호 매칭 검사 프로그램 들어가며 스택을 활용하여 간단하게 괄호의 매칭 검사를 수행할 수 있다. 여는 괄호를 만나면 push 하고, 닫는 괄호를 만나면 pop 한다 는 규칙을 적용한 후, push 또는 pop 하는 과정에서 다음의 조건을 확인하면 된다. ① 닫는 괄호를 만났을 때 스택은 비어 있지 않아야 한다. ② 닫는 괄호를 만났을 때 추출한 괄호는 여는 괄호여야 한다. ③ ②를 만족해도 두 괄호의 종류(소괄호, 중괄호, 대괄호)가 같아야 한다. ④ 모든 수식의 처리가 끝나면 스택은 비어 있어야 한다. 열린 괄호라면 무조건 push 한다. 닫는 괄호일 때는 스택에서 하나를 꺼내서 현재 괄호와 짝이 맞는지 확인한다. if '(', '[', '{', '' 중 하나면 열린 괄호 pop() if 두 괄호의 쌍..
-
2022.04.02
[Python] 단순 연결 리스트(Singly Linked List) 프로그램
단순 연결 리스트(Singly Linked List) 프로그램 # 단순 연결 리스트 프로그램 (삽입, 삭제, 검색) ## 클래스와 함수 선언 부분 ## class Node(): def __init__(self): self.data = None self.link = None def printNodes(start): current = start if current == None: return print(current.data, end = ' ') while current.link != None: current = current.link print(current.data, end = ' ') print() # 노드 삽입 함수 def insertNode(findData, insertData): global me..
-
2022.03.26
[Python] 다항식(Polynomial) 선형 리스트 표현과 계산 프로그램
다항식(Polynomial) 선형 리스트 표현과 계산 프로그램 다항식(Polynomial) $P(x) = a + bx + cx^2 + dx^3 + \cdots + zx^n$ $n$ 차 다항식 $P(x)$ : 다항식(Polynomial) $a, b, c, d, \cdots, z$ : 계수(Coefficient) $x$의 $1, 2, \cdots, n$ : 지수(Exponent) 코드 방법 1 ## 함수 선언 부분 def printPoly(p_x): term = len(p_x) - 1 # 최고차항 숫자 = 배열 길이 - 1 polyStr = "P(x) = " for i in range(len(px)): coef = p_x[i] # 계수 if (coef >= 0): polyStr += "+" polyStr +..
-
2022.03.26
[Python] 선형 리스트(Linear List) 처리 프로그램
선형 리스트(Linear List) 처리 프로그램 ## 함수 선언 부분 ## def add_data(friend): katok.append(None) kLen = len(katok) katok[kLen - 1] = friend # 선형 리스트에 데이터를 삽입하는 함수 def insert_data(position, friend): if position len(katok): print("데이터를 삽입할 범위를 벗어났습니다.") return katok.append(None) # 빈칸 추가 kLen = len(katok) # 배열의 현재 크기 for i in range(kLen - 1, position, -1): katok[i] = katok[i - 1] katok[i - 1] ..
-
2021.08.07
[Python] 파일 입출력 예제
파일 입출력 예제 open('파일명', '형식') : 파일을 불러오는 함수 형식 r : 읽기 w : 쓰기 write(a) : 파일에 a 내용 쓰기 close() : 파일 입출력 해제 예제 사용자로부터 입력 받은 내용을 "text.txt" 파일로 저장하고, 찾고자 하는 문자열의 개수를 출력하는 프로그램을 작성하시오. def count_word(text, word): # 문자열을 텍스트 파일로 저장 text_save = open("text.txt", "w", encoding="UTF8") text_save.write(text) text_save.close() count = 0 # word를 세는 변수 word_length = len(word) # 문자의 길이 word_save = "" # 문자의 길이만큼만 ..
-
2020.03.24
[Python] matplotlib 라이브러리를 이용하여 그래프 그리기
*matplotlib 라이브러리를 이용한 그래프 그리기 # default 설정 import numpy as np import matplotlib.pyplot as plt %matplotlib inline np.random.seed(1) x = np.arange(10) # 0~9 사이 랜덤 수 y = np.random.randn(10) # 0~1 사이 랜덤 수 print(x) print(y) [0 1 2 3 4 5 6 7 8 9] [ 1.62434536 -0.61175641 -0.52817175 -1.07296862 0.86540763 -2.3015387 1.74481176 -0.7612069 0.3190391 -0.24937038] # 그래프 표시 plt.plot(x, y) # 꺾은선 그래프를 등록 pl..
-
2019.05.02
[Python] BMI 계산기
12345678910111213141516171819202122232425262728293031323334# BMI 계산기# BMI = weight/height^2 # 리스트 생성status = ["저체중", "정상", "과체중", "경도비만", "중증도 비만", "고도 비만"] # 키, 몸무게 입력height = (float)(input("본인의 키를 입력하세요.(m): "))weight = (float)(input("본인의 몸무게를 입력하세요.(kg): ")) # BMI 수치 계산 (절댓값)BMI = abs(weight / (height ** 2)) # 계산if BMI
-
2019.04.23
[Python] 화씨온도(℉)를 섭씨온도(℃)로 변환하기
123fah = float(input("변환할 화씨온도(℉)를 입력하십시오: ")) cel = (fah - 32) * 5/9print("%0.2f℉는 %0.2f℃입니다." % (fah, cel))cs 22734777_uomkq@goorm:/workspace/PythonSeminar19/Users/Jade$ python3 convert_fahrenheit_celsius.py변환할 화씨온도(℉)를 입력하십시오: 4949.00℉는 9.44℃입니다.Colored by Color Scriptercs - 화씨온도(℉, Fahrenheit)- 미국에서 많이 사용하는 온도체계- 영하 17.7℃에서 37.7℃를 백등분- 섭씨온도(℃, Celsius)- 전 세계에서 널리 쓰이는 온도 단위- 물의 어는점을 0도, 끓는 점을..