SWEA 13

[SWEA]파이썬 SW문제해결 기본 - LIST 2 : 부분 집합 (2/2)

파이썬 SW 문제 해결 기본 - LIST 2 02 부분 집합 (2/2) ※이 글은 2편 중 2편입니다. 전편(1편)을 먼저 확인하는 것을 권장합니다.※ [SWEA]파이썬 SW문제해결 기본 - LIST 2 : 부분 집합 (1/2) [SWEA]파이썬 SW문제해결 기본 - LIST 2 : 부분 집합 (1/2) 파이썬 SW 문제 해결 기본 - LIST 2 02 부분 집합 (1/2) 02. 부분 집합 1️⃣ 부분 집합 문제 ◾ 부분 집합의 합 문제 유한 개의 정수로 이루어진 집합이 있을 때, 이 집합의 부분 집합 중에서 그 집합의 taewow.tistory.com 02. 부분 집합 3️⃣ 부분 집합 문제 알고리즘 2 ◾ Bit로 생각해보기 앞서 부분 집합을 구하는 방법을 소개하며 '이진수'로 생각해보면 이해가 쉽..

[SWEA]파이썬 SW문제해결 기본 - LIST 2 : 부분 집합 (1/2)

파이썬 SW 문제 해결 기본 - LIST 2 02 부분 집합 (1/2) 02. 부분 집합 1️⃣ 부분 집합 문제 ◾ 부분 집합의 합 문제 유한 개의 정수로 이루어진 집합이 있을 때, 이 집합의 부분 집합 중에서 그 집합의 원소를 모두 더한 값이 0이 되는 경우가 있는지를 알아내는 문제이다. EX. {-7, -3, -2, 5, 8} 1) {-3, -2, 5}는 부분집합 2) (-3) + (-2) + 5 = 0 => TRUE 🥾접근 방법 : 1) 완전 검색기법으로 부분 집합 합 문제를 풀기 위해서는 우선 집합의 모든 부분 집합을 생성한 후 각 부분 집합의 합을 계산한다. 2) 또는 주어진 집합의 부분 집합을 생성하는 다른 방법을 생각해본다. ◾ 부분 집합의 수 문제 : 어떤 집합의 부분 집합을 구할 경우 부..

[SWEA]파이썬 SW문제해결 기본 - LIST 2 : 2차원 List (2/2)

파이썬 SW문제해결 기본 - LIST 2 01 2차원 List (2/2) ※이 글은 2편 중 2편입니다. 전편(1편)을 먼저 확인하는 것을 권장합니다.※ [SWEA]파이썬 SW문제해결 기본 - LIST 2 : 2차원 List (1/2) [SWEA]파이썬 SW문제해결 기본 - LIST 2 : 2차원 List (1/2) 파이썬 SW문제해결 기본 - LIST 2 01 2차원 List (1/2) 01. 2차원 List 1️⃣ 2차원 List 구조 ◾2차원 List 구조 1) 1차원 List를 묶어놓은 List(즉, List를 요소로 가지는 List이다.) 2) 2차원 이상의 다차원 L.. taewow.tistory.com 3) 지그재그 순회 - List의 행을 좌우로 조사하는 방법 #지그재그 조회 arr = [..

[SWEA]파이썬 SW문제해결 기본 - LIST 2 : 2차원 List (1/2)

파이썬 SW문제해결 기본 - LIST 2 01 2차원 List (1/2) 01. 2차원 List 1️⃣ 2차원 List 구조 ◾2차원 List 구조 1) 1차원 List를 묶어놓은 List(즉, List를 요소로 가지는 List이다.) 2) 2차원 이상의 다차원 List는 차원에 따라 Index를 선언한다. 3) 2차원 List의 선언 : 세로길이(행의 개수), 가로길이(열의 개수)를 필요로 한다. EX) 2행 4열의 2차원 List arr = [[0,1,2,3],[4,5,6,7]] 아래 그림과 같다. 2️⃣ List 초기화 ◾ List 초기화 1차원 리스트 arr = [0,0,0,0,0] arr = [0] * 5 #[0,0,0,0,0] arr = [i for i in range(2,9) if i%2==..

[SWEA]4835. 파이썬 SW문제해결 기본 - LIST 1 : 구간합

파이썬 SW문제해결 기본 - LIST 1 09 구간합(SW문제) 09. 구간합 🎲문제 : 위 이미지를 클릭하여 SWEA 이동 -> 9차시 1일차 - 구간합 🥾문제 접근: - 중첩된 이중 반복문을 이용하여 '구간합'을 구하는 방법을 구상하였다. EX) N=5, M=3, v=[1,2,3,4,5] 일 때, 🔄첫 번째 반복 1부터 3까지(M이 3이므로 123, 234, 345, 456, 567이기 때문에 3까지만 반복하는 것) for i in range(N-M+1) 🔄두 번째 반복 i부터 M만큼 반복. for j in range(i, i+M) List란? - [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 파이썬 ..

[SWEA]4834. 파이썬 SW문제해결 기본 - LIST 1 : 숫자 카드

파이썬 SW문제해결 기본 - LIST 1 4834. 08 숫자카드(SW문제) 08. 숫자 카드 🎲문제 : 위 이미지를 클릭하여 SWEA 이동 -> 8차시 1일 차 - 숫자 카드 🥾문제 접근: - 크기 10의 리스트를 생성하고, 카드에 해당하는 인덱스를 1씩 증가시킨 후 최댓값을 찾으면 될 것 같다. 최댓값이 2개 이상인 경우 큰 숫자를 출력한다. 📍 max(iterable) : 반복 가능한 자료형을 입력받아 최댓값을 return 한다. - 앞서 배운 List의 내장 함수 max()를 활용할 수 있다. List란? - [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 파이썬 SW문제해결 기본 - LIST 1 0..

[SWEA]4831. 파이썬 SW문제해결 기본 - LIST 1 : 전기버스

파이썬 SW문제해결 기본 - LIST 1 4831. 07 전기버스(SW문제) 06. 전기버스 🎲문제 : 위 이미지를 클릭하여 SWEA 이동 -> 7차시 1일차 - 전기버스 🥾문제 접근: - 현재 위치에서 이동 가능한 거리(K) 이내의 충전 가능한 정류장(M)으로 이동한다. 종점(N)에 도달할 때 까지 이를 반복하며 충전 횟수를 카운팅한다. 만일 이동 가능한 거리(K) 이내의 충전 가능한 정류장이 없다면 종점에 도착할 수 없다고 판단한다. - 현재 상황에서 가능한 경우의 수 가운데 최선의 선택을 하며 진행하는 알고리즘이다. 즉 이전에 배운 "Greedy Algorithm"에 해당한다. Greedy Algorithm란? - [SWEA]파이썬 SW문제해결 기본 - LIST 1 : Greedy Algorithm..

[SWEA]4828. 파이썬 SW문제해결 기본 - LIST 1 : min max

파이썬 SW문제해결 기본 - LIST 1 06 min max(SW문제) 06. Min Max 🎲문제 : 위 이미지를 클릭하여 SWEA 이동 -> 6차시 1일차 - min max 🥾문제 접근: - 주어진 입력을 List에 담아 내장 함수 max(), min()을 이용하여 해결하는 방법이 있다. 📍 max(iterable) : 반복 가능한 자료형을 입력받아 최댓값을 return한다. 📍 min(iterable) : 반복 가능한 자료형을 입력받아 최솟값을 return한다. - 가장 간단한 해결 방법이면서 앞서 배운 List를 활용할 수 있다. List란? - [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 [SWEA]파이썬 SW문제해결 기본 - LIST 1 : 알고리즘, 리스트 파이썬..

[SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-카운팅 정렬

파이썬 SW문제해결 기본 - LIST 1 05 Sort(정렬)-카운팅 정렬 이번 글은 지난 글(버블 정렬)과 이어지는 글이다. 아래 링크에서 이전 글을 먼저 확인하기를 권장한다. [SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-버블 정렬 05. Sort ③ 카운팅 정렬 ▣카운팅 정렬 - 항목들의 순서를 결정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형 시간(O(n+k)에 정렬하는 효율적인 알고리즘이다. - 시간 복잡도 = O(n+k) : n은 리스트의 크기, k는 정수의 최대값 - 정수나 정수로 표현할 수 있는 자료에 대해서만 적용 가능하다. 각 항목의 발생 회수를 기록하기 위해, 정수 항목으로 인덱스되는 카운트들의 리스트를 사용하기 때문이다. - 카운트들을..

[SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-버블 정렬

파이썬 SW문제해결 기본 - LIST 1 05 Sort(정렬)-버블 정렬 05. Sort ① 정렬 개요 ▣ 정렬(Sort)이란? - 2개 이상의 자료를 특정 기준에 따라 순서대로 재배열하는 것이다. - 작은 값부터 큰 값 : 오름차순(ascending) - 큰 값부터 작은 값 : 내림차순(descending) ▣ 대표적인 정렬 방식의 종류 - 버블 정렬 : 인접한 두 원소를 검사하여 정렬하는 방법이다. (최악: O(n^2) / 평균: O(n^2)) - 카운팅 정렬 : 각 항목의 개수를 센(Counting) 후에 정렬하는 방법이다. (최악: O(n+k) / 평균: O(n+k)) - 선택 정렬 : 최솟값을 찾아 정렬되지 않은 맨 앞의 값과 교체하는 방법이다. (최악: O(n^2) / 평균: O(n^2)) -..