최댓값 구하는 프로그램 만들기 배열, 함수를 사용하여 복수의 모듈로 최댓값을 구하는 프로그램을 구현한다. 파일 이름을 max.py라고 가정한다. from typing import Any, Sequence def max_of(a: Sequence) -> Any: maximum = a[0] for i in range(1, len(a)): if a[i] > maximum: maximum = a[i] return maximum if __name__ == '__main__': print('배열의 최댓값 구하기') num = int(input('원소 수 입력 : ')) x = [None] * num for i in range(num): x[i] = int(input(f'x[{i}]값을 입력하세요. : ')) pri..
C와 C++, Java등의 언어에서는 =를 결합 연산자로 사용한다. a = b = 1 b에 1을 대입하여 얻은 결과를 a에 대입하므로 a = b = 1이 될 수 있다. 그러나 파이썬에서는 =가 연산자가 아니다. 같은 코드를 파이썬에서 입력하면 오류가 발생한다. 파이썬에서는 리스트와 튜플 모두 배열을 의미한다. 리스트와 튜플을 자료구조 관점에서 배열로 이야기 할 수 있다. 빈 배열 판단하기 if x: # x가 비어 있지 않으면(True) 실행 else: # x가 비어 있으면(False) 실행 비교 연산자로 배열의 대소, 등가 관계 판단 print([1, 2, 3] == [1, 2, 3]) print([1, 2] < [1, 3]) print([1, 2, 3]
파이썬에서는 배열을 리스트와 튜플로 구현 가능하다. 둘은 데이터 컨테이너라고 하며, 튜플의 경우 원소를 변경할 수 없다는 점에서 리스트와 차이가 있다. 리스트 원소를 변경할 수 있는 mutable형 객체. list01 = [] list02 = [1, 2, 3] list03 = ['A', 'B', 'C', ] # 맨 마지막 원소에 쉼표 생략 가능 list()는 다양한 자료형 객체를 원소로 하는 리스트를 생성한다. list(), range()의 조합으로 특정 범위의 정수로 구성된 리스트를 생성할 수 있다. 리스트 원소 개수는 리스트 생성 때 반드시 결정해야하나, 원솟값을 지정하지 않을 경우에는 None을 사용하면 가능하다. list01 = list([1, 2, 3]) list02 = list('ABC') ..
파이썬과 C언어의 변수 저장 방식 차이 C언어 메모리 공간을 할당받고 값을 집어넣어서 사용한다. 방식 1 : 정적 메모리 할당 컴파일시 고정된 크기/타입의 메모리 공간을 할당받아서 사용 가능.(스택 공간) 크기가 정해지면 중간에 바꿀 수 없음 소멸시 운영체제가 자동으로 메모리를 반납 int a = 0; a라는 변수가 int형 크기만큼 메모리 공간을 할당받아서 0이라는 값을 넣음. 프로그램 종료시 운영체제가 자동으로 메모리 반납 방식 2 : 동적 메모리 할당과 포인터 런타임에 원하는 크기/타입의 메모리 공간을 만들고, 그 공간을 가리키는 주소를 포인터 변수에 저장하여 사용.(힙 공간) 포인터 변수는 주소를 가리키는 변수. 소멸시 메모리 반납을 수동으로 해줘야 함. char *str = NULL; # 포인터..
반복 과정에서 조건 판단 다음은 n을 입력받고 1부터 값을 증가시키면서 홀수인 경우 +, 짝수인 경우-를 출력하는 코드이다. n = int(input('몇 개를 출력? :')) for i in range(1, n+1): if i % 2: print('+', end='') else : print('-', end='') print() 이 코드는 n의 값이 커지면 if문도 그만큼 반복되어야하므로 상황에따라 유연하게 수정하기 어려워진다. 개선한 코드 n = int(input('몇 개를 출력 :')) for _ in range(n // 2): print('+-', end='') if n % 2: print('+', end='') print() +-가 반복되는 부분은 반복문에서 모두 출력되도록 하고, 입력받은 값이..
알고리즘 : 어떠한 문제를 해결하기 위해 정해놓인 일련의 절차 자료구조 : 컴퓨터에 정보를 효율적으로 저장하고 관리하는 방법 알고리즘과 자료구조는 서로 상호 보완 관계에 있다. 자료구조를 만드는 과정이 알고리즘으로 순서화되어 있기 때문이다. 이 포스팅을 하면서 코딩테스트에 대한 대비뿐만 아니라, 논리적인 사고 능력을 기르고 파이썬을 파이썬스럽게 잘 활용할 수 있는 방법들을 배우는데 큰 도움이 되기를 기대한다. print('세 정수의 최댓값 구하기') a = int(input('정수 a의 값을 입력하시오')) b = int(input('정수 b의 값을 입력하시오')) c = int(input('정수 c의 값을 입력하시오')) maximum = a if b > maximum: maximum = b if c ..