\
1208. [S/W 문제해결 기본] 1일차 - Flatten
·
Algorithm/SW Expert Academy Review
D3 Problem SW Expert Academy Flatten Solution 1. 최댓값과 최솟값의 차이를 최소로 만드는 것을 목표로 하고 시작한다. 2. 최댓값과 최솟값이 같아지면 더 이상 옮길 필요가 없다. 3. 최댓값에서 최솟값으로 하나씩 옮기면 언젠가 원하는 곳에 도달한다. Code # 최댓값과 최솟값 찾기 def max_height(arr): max_h = min_h = arr[0] for i in range(len(arr)): if arr[max_h] arr[i]: min_h = i return [max_h, min_h] for test_case in range(1, 11): dump = int(input()) box_lis..
4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스
·
Algorithm/SW Expert Academy Review
D3 Problem SW Expert Academy 전기버스 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 정거장 배열을 만들어 충전소를 저장한다.(충전소를 인덱스로 하여 충전소가 있으면 1 없으면 0) 2. 이동 후 충전소의 위치를 확인하고, 충전소가 충분한 거리만큼 위치하지 않으면 0, 아니면 최소 충전 횟수를 출력한다. 3. 만약 충전소가 충분한 거리 내에 있었다면, 가장 마지막 충전소에서 충전한 것으로 가정하고 위치를 마지막 충전소로 지정한다. Code for test_case in range(1, int(input()) + 1): K, N, M = map(int, input()...
16180. 4834. [파이썬 S/W 문제해결 기본] 1일차 - 숫자 카드
·
Algorithm/SW Expert Academy Review
D2 Problem SW Expert Academy 숫자 카드 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. Counting Sort 와 같이 index를 값으로 하는 리스트를 만들어 개수를 센다. 2. 개수 내에서 최댓값과 그 index를 출력한다. Code for test_case in range(1, int(input()) + 1): N = int(input()) # 0이 제일 앞에 나올때를 대비해 str형식으로 받아 한 글자씩 int 변환 num_list = list(map(int, list(input()))) cnt = [0] * 10 # 개수 카운트용 리스트(Index = 숫자..
1206. [S/W 문제해결 기본] 1일차 - View
·
Algorithm/SW Expert Academy Review
problem SW Expert Academy View SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 5개의 값들을 비교하여 가운데 있는 값이 주변 값들보다 크면 조망권이 확보되었다고 할 수 있다. 2. 조망권이 확보된 개수를 세기 위해 최댓값과 그다음 최댓값의 차를 더해준다. - 가장 큰 값과 그 다음으로 큰 값의 차는 조망권이 확보된 층들을 의미한다. 3. 어차피 양 끝의 2칸은 무조건 0이니까 탐색은 2번째부터 N-2까지만 하면 된다. Code for test_case in range(1, 11): N = int(input()) building_list = list(map(int, ..
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대 다)의 관계를 갖는다. 쉽게 말하면 자료 안에 여러 자료가 들어간 형태