본문 바로가기

공부/BOJ7

[BOJ/C] 10845번 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net - 큐(queue) : 작업들이 처리되기 전에 대기하고 있는 선형 리스트 자료 구조. 원소들이 FIFO(First In First Out) 구조로 추가되거나 삭제됨. 파이썬의 경우 리스트를 통해, C언어의 경우 배열을 통해 구현 가능. 1) 선형 큐(linear queue) - 큐의 시작과 끝이 서로 분리되어 있음 - 선형 큐 구현 코드(python) class Queue: def.. 2022. 9. 16.
[BOJ/Python] 백준 17608번 막대기 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 1. #막대기 개수 입력받기 n=int(input()) lst=[] cnt=0 #막대기 높이 나타내는 정수 입력받아 리스트에 저장 for i in range(n): lst.append(input()) high = lst[-1] for i in range(n): if (lst[i]>=lst[-1]): cnt+=1 high = lst[i] print(cnt) 맨 오른쪽을 제일 높은 막대기로 보고 맨 왼쪽부.. 2022. 6. 30.
[BOJ/Python] 10773번 제로 https://www.acmicpc.net/problem/10773 stack=[] tmp = 0 k=int(input()) for i in range(0,k): tmp = int(input()) if tmp==0: stack.pop() else: stack.append(tmp) print(sum(stack)) 2022. 6. 30.
[BOJ/Python] 11653번 소인수분해 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net n = int(input()) lst = [] for i in range(2,n+1): if (n % i == 0): lst.append(i) i = 2 print(lst) 그냥 약수 출력 프로그램이 되어버렸다. n = int(input()) lst = [] for i in range(2,n+1): if (n % i == 0): lst.append(i) n = (n // i) print(lst) 뭔가 비슷하게 나오긴 하는데 4가 나와서 제대로 소인수분해가 안 된 것 같음 나누어지면 리스트 append하고 i를 다시 .. 2022. 6. 30.