본문 바로가기

분류 전체보기101

백준 1110번 파이썬 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 초기 입력값 26 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. .. 2022. 9. 6.
RDB와 NoSQL RDB와 NoSQL를 알기 전 배경지식 **Databse**란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미합니다. **DBMS**란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어입니다. **SQL**이란(Strucured Query Language) 관계형 데이터베이스의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이며 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었습니다. **schema(스키마)**란 데이터베이스를 구성하는 레코드의 .. 2022. 8. 8.
Array(배열)과 Linked List(연결 리스트) Array 와 Linked List 둘다 자료구조의 형태 중 하나이다. Array(배열) Array(배열) 는 입력된 데이터들이 연속적인 데이터 공간에서 순서데로 데이터를 저장하는 자료 구조이다. 장단점 array는 index로 탐색을 쉽게 할 수 있지만 데이터를 삽입하거나 삭제를 할 때 다른 데이터를 순서대로 모두 이동을 시키기 때문에 연산비용이 많이듭니다. 장점 indexing을 통한 빠른 접근이 가능하다. 단점 데이터 삽입 삭제가 오래 걸린다. 배열 중간에 있는 데이터가 삭제되면, 공간 낭비가 발생한다. Linked List(연결 리스트) Linked List(연결 리스트) 는 입력된 데이터들이 비 연속적인 데이터 공간에서 순서데로 데이터를 저장하는 자료 구조이다. 그리고 그 데이터가 Linked(.. 2022. 8. 8.
Stack(스텍)과 Queue(큐) Stack과 Queue의 자료구조와 차이점 stack과 queue 둘다 자료구조의 형태 중 하나이다. stack는 후입선출의 구조 queue는 선입선출의 구조를 가지고 있다. 스텍(Stack) 스텍(Stack) 쌓다, 라는 의미로 데이터를 차곡차곡 쌓아올린 형태의 자료 구조를 말한다. 데이터가 순서데로 쌓이며 가장 마지막에 삽입된 자료 구조가 가장 먼저 삭제되는 구조를 가지고 있다. [ EX- 실행취소, 웹 브라우저에서 뒤로가기 등 ] 삽입되는 새 자료는 top이 가리키는 자료의 위에 쌓이게 된다. 스택에서 자료를 삭제할 때도 top을 통해서만 가능하다. 스택에서 top을 통해 삽입하는 연산을 **'push'**이라고 한다. top을 통한 삭제하는 연산을 **'pop'**이라고 한다. 큐(Queue) 큐.. 2022. 8. 4.
백준 2562번 파이썬 문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 정답 코드 num_list = [] for i in range(9): num_list.append(int(input())) max_num = max(num_list) print(max_num) print(num_list.in.. 2022. 8. 3.
백준 10871번 파이썬 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 이 문제는 join() 함수를 사용할 수 있어야 한다. 함께 풀어보자! 정답 코드 N, X = map(int, input().split()) A = list(map(int, input().split())) low_num=[] for num in A: if num < .. 2022. 8. 2.