본문 바로가기

전체 글48

알고리즘의 복잡도 표현 언어는 python을 사용하였습니다. 5. 알고리즘의 복잡도 표현 알고리즘을 해결하는 방법에는 여러가지 방법이 있고, 여러가지 방법중 더 좋은 알고리즘을 분석하기 위해 계산한다. ex) 1부터 10까지의 합을 구하는 방법. (1)1부터 10까지 모두 더한다. (2)공식을 사용한다. 알고리즘 복잡도 계산 항목 시간 복잡도 : 알고리즘 실행 속도 공간 복잡도 : 알고리즘이 사용하는 메모리 사이즈 가장 중요한 것은 시간 복잡도 로서, 시간 복잡도는 반복문이 가장 큰 영향을 미친다. 알고리즘 성능 표기법 Big O(빅-오) 표기법: O(N) -> 알고리즘의 최악의 실행 시간을 나타낸다. -> 가장 많이 사용한다. -> 아무리 최악의 상황이더라도, 최소한 이정도의 성능은 보장한다 라는 의미 Ω (오메가) 표기법:.. 2022. 10. 3.
자료구조 - 링크드 리스트(Linked List) 언어는 python을 사용하였습니다. 4. 링크드 리스트(Linked List) 링크드 리스트는 연결 리스트라고도 하며, 배열을 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 이다. C언어에서 주요한 데이터 구조 이지만, 파이썬에서는 리스트 타입이 링크드 리스트의 기능을 지원 한다. 링크드 리스트의 형태 노드(Node): 데이터 저장 단위로서, 데이터값과 포인터로 구성된다. 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보 즉 주소를 가지고 있는 공간 이다. #링크드 리스트 만들기 class Node: def __init__(self, data, next=None): self.data = data self.next = next # 데이터 추가하기 def add(dat.. 2022. 10. 3.
[백준] 2562번: 최댓값 [Pythton] [백준] 2562번: 최댓값 [Pythton] 문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 list_a=[] for i in range (9): list_a.append(int(input())) print(max(list_a)) print(list_a.index(.. 2022. 9. 16.
[백준] 10818번: 최소, 최대 [Pythton] [백준] 10818번: 최소, 최대 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 풀이 N=int(input()) list_a=list(map(int, input().split())) print(min(list_a),max(list_a)) 메모 python의 내장함수인 min과 max사용 출처 Baekjoon ONLINE JUDGE 2022. 9. 16.
[백준] 10952번: A+B -5 [Pythton] [백준] 10952번: A+B -5 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. 풀이 while True: a,b = map(int, input().split()) if (a == 0) and (b == 0): break else: print(a+b) 메모 python에서 무한반복은 while True:를 사용하고, 탈출은 break문을 사용한다 출처 Baekjoon ONLINE JUDGE 2022. 9. 15.
[백준] 10951번: A+B -4 [Pythton] [백준] 10951번: A+B -4 [Pythton] 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 풀이 while True: try: a, b = map(int, input().split()) print(a+b) except: break 메모 try except 구문의 경우 오류 처리를 위한 구문이다. 오류가 발생하면 except 문으로 가게되고 정상적으로 수행되면 try문에 코드가 실행이 된다. 출처 Baekjoon ONLINE JUDGE 2022. 9. 15.