16504. Gravity
·
Algorithm/SW Expert Academy Review
Problem SW Expert Academy User Ploblem Gravity SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 오른쪽에 있는 숫자들 중, 자신보다 크거나 같은 숫자들을 탐색 2. 탐색한 숫자와의 거리를 출력 3. 거리 중 가장 큰 값을 출력 Code T = int(input()) # 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다. for test_case in range(1, T + 1): N = int(input()) arr = list(map(int, input().split())) # N개의 0을 가지고 있는 리스트 result 생성 result = [0..
[자료구조] 선형구조, 비선형구조
·
Algorithm/개념
자료 구조 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미하며, 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 위키백과-자료구조 선형 구조(Linear Structure) 자료와 자료의 관계가 1:1의 관계를 갖는다. 쉽게 말하면 자료를 순차적으로 나열한 형태 비선형 구조(Non-Linear Structure) 자료와 자료의 관계가 1:N(1대 다)의 관계를 갖는다. 쉽게 말하면 자료 안에 여러 자료가 들어간 형태
[자료구조] Stack - 스택
·
Algorithm/개념
정의 사전적 의미 (보통 깔끔하게 정도된) 무더기(더미), 쌓다, 채우다 등 우리가 공부할 STACK의 의미 물건을 쌓아 올리듯 자료를 쌓아 올린 형태의 자료구조 저장된 자료는 선형구조를 갖는다. 후입선출(LIFO, Last In First Out) top: 마지막에 삽입된 원소의 위치(저장된 자료 중 가장 마지막에 들어간 자료) 기능 Push : 자료를 저장소에 저장 Pop : 저장되어 있는 자료 중 가장 최근 자료를 꺼냄 IsEmpty : 저장소가 비어있는지 확인 peek : top에 위치한 원소(item) 반환 구현 push List의 append()함수 활용 def push(item): stack.append(item) stack = [] push(10) print(stack) # [10] 함수의..
LIST1. 1일차 - min max
·
Algorithm/SW Expert Academy Review
Problem SWEA min-max SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 단순 탐색 - 최댓값과 최솟값을 리스트 안에서 하나씩 비교하며 찾기 2. Bubble sorting 활용 - 정렬을 통해 처음과 마지막 값으로 최대, 최소 값 찾기 Code 1. 단순 탐색 for test_case in range(1, int(input()) + 1): N = int(input()) arr = list(map(int, input().split())) # 단순하게 찾기 max = 0 # 최대의 초기값을 0으로 지정 min = 1000001 # 최소의 초기값을 최대로 지정 for idx in ..
LIST1. 1일차 - 구간합
·
Algorithm/SW Expert Academy Review
Problem SW Export Acdeomy List1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solving 1. 이중 For문을 이용하여 범위 내의 수를 모두 더하여 비교 2. 슬라이싱과 sum()함수를 이용하여 범위 내의 수를 더하여 비교 Code 방법 1 T = int(input()) for test_case in range(1, T + 1): N, M = map(int, input().split()) arr = list(map(int, input().split())) result = [0] * (N-M+1) # 구간 설정하여 더하기 idx ~ idx+M for idx in range(N-M+1..