본문 바로가기

전체 글48

[백준] 1110번: 더하기 사이클 [Pythton] [백준] 1110번: 더하기 사이클 [Pythton] 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이.. 2022. 9. 15.
[백준] 10871번: X보다 작은 수 [Pythton] [백준] 10871번: X보다 작은 수 [Pythton] 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 풀이 N, X = map(int, input().split()) list_N = list(map(int, input().split())) for i in list_N: if i < X: print(i,end= .. 2022. 9. 11.
[백준] 2439번: 별 찍기 -2 [Pythton] [백준] 2439번: 별 찍기 -2 [Pythton] 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 풀이 N = int(input()) for i in range(1, N+1): print(" "*(N-i) + "*"*i) 메모 자리수가 N개로서 계속 반복해도 변함 없음. 공백과, *의 규칙 찾기 출처 Baekjoon ONLINE JUDGE 2022. 9. 11.
자료구조 - 스택(stack) 언어는 python을 사용하였습니다. 3. 스택(Stack) 스택은 데이터를 임시 저장할 때 사용하는 자료구조로서, 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 입니다. 기본적으로 가장 나중에 넣은 데이터를 가장 먼저 뺄수있는 LIFO(Last- in, First-Out) 구조 입니다. 삽입 삭제 데이터를 스택에 넣기 push() 데이터를 스택에서 빼기 pop() 장, 단점 (장점) 구조가 단순해서 구현하고 쉽고, 덕분에 데이터의 저장 읽기 속도가 빠르다 (단점) 데이터의 갯수를 미리 정해 그에따른 저장공간을 확보해야 한다, 따라서 공간의 낭비가 발생할수도 있다. 파이썬의 경우 재귀 함수는 최대 1000번까지만 호출이 가능하다. 파이썬 리스트를 통한 스택 구현 #리스트 생성 data_stack = li.. 2022. 9. 11.
자료구조 - 큐(Queue) 언어는 python을 사용하였습니다. 2. 큐(Queue) 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 선입선출(FIFO) 구조 입니다. FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대 큐의 경우 멀티 태스킹을 위한 프로세스 스케줄링 방식을 구현하기위해 OS에서 많이 사용된다. 삽입, 삭제 큐에 데이터를 추가하는 작업 인큐(Enqueue) 큐에 데이터를 꺼내는 작업 디큐(dequeue) 데이터를 꺼내는 쪽 프런트(front) 데이터를 넣는 쪽 리어(rear) 파이썬에서의 큐(Queue) 파이썬에서는 queue 라이브러리를 통해 다양한 큐 구조를 제공한다 일반적인 Queue, LIFO 구조의 LifoQueue(), 우선순위를 .. 2022. 9. 9.
자료구조 - 배열 (Array) 언어는 python을 사용하였습니다. 1. 배열(Array) 데이터를 나열하고, 각 데이터 인덱스에 대응하도록 구성하는 데이터 구조 파이썬에서는 리스트(list)와 튜플(tuple)로 구현한다. 같은 종류의 데이터를 효율적으로 관리하고, 순차적으로 저장하기 위해 사용 또한 다른 언어의 경우 배열의 데이터 타입을 정해주어야 하지만, 파이썬의 경우 하나의 배열에 여러가지 데이터 타입이 올 수 있다. 특징 (장점) 인덱스 번호로 데이터에 접근할수 있기 때문에 빠르다. (단점) 미리 길이를 설정해야 하므로 데이터의 추가/삭제가 어렵다. but 파이썬에서는 길이를 미리 정할 필요가 없이 가변적 이다. 예시 # 1차원 배열: 리스트로 구현시 data_list = [1, 2, 3, 4, 5] # 2차원 배열: 리스트.. 2022. 9. 9.