[Python] 파이썬 리스트, 튜플, 딕셔너리 사용법

    [Python] 파이썬 리스트, 튜플, 딕셔너리 사용법

    리스트 [ ] : 말 그대로 목록 이라는 뜻으로 값을 일렬로 늘어놓은 형태다. 튜플 ( ) : 리스트와 비슷하지만 저장된 요소를 변경, 추가, 삭제가 불가능하다. 딕셔너리 { } : 키 : 값의 형식을 가지고 있다. 연관된 값을 묶어서 저장하는 자료형이다. 1. 리스트 ( list ) 리스트는 문자열, 실수, 정수, 불 등 모든 자료형을 저장할 수 있다. 대괄호 [ ]를 사용하여 선언한다. a = [10, 'superman', True] 1. 주요 메서드 메서드명 기능 예시 append(요소) 요소 하나를 추가 list.append(10) extends(리스트) 리스트를 연결하여 확장 list.extend( [30,40] ) insert(인덱스, 요소) 특정 인덱스에 요소 추가 list.insert(2,..

    [Java] 자바 두 개의 큐(Queue)로 스택(Stack) 구현하기

    [Java] 자바 두 개의 큐(Queue)로 스택(Stack) 구현하기

    https://hyunki99.tistory.com/26 이전 글과 비슷하게 2개의 큐로도 스택을 구현할 수 있다. 큐는 많이 사용되는 자료구조 중 하나이다. 먼저 들어온 것이 먼저 나오는 구조로서 FIFO (First In First Out)의 형태를 띈다. 2개의 큐를 활용해서 스택을구현하는 방법을 알아보자. 1. 원리 1. 메인 큐와 임시 큐를 준비한다. 2. 메인 큐에 1개의 원소가 남을 때까지 dequeue하고, 임시 큐에 넣는다. 3. 마지막 남은 1개의 원소는 result 변수에 저장한다. 4. 임시 큐에 남아있는 원소들을 다시 메인 큐로 이동시킨다. 5. result를 리턴한다. 2. 예제코드 import java.util.LinkedList; import java.util.Queue; c..

    [Java] 자바 두 개의 스택(Stack)으로 큐(Queue) 구현하기

    [Java] 자바 두 개의 스택(Stack)으로 큐(Queue) 구현하기

    스택은 많이 사용되는 자료구조 중 하나이다. 나중에 들어온 것이 먼저 나오는 구조로서 LIFO (Last In First Out)의 형태를 띈다. 2개의 스택을 활용해서 큐를 구현하는 방법을 알아보자. 1. 원리 스택을 하나 사용하면 LIFO지만, 2개의 스택을 사용해서 FIFO(First in First Out) 형태인 큐 자료구조를 구현할 수 있다. 스택과 큐에서 자료가 어떤 방식으로 들어오고(push) 나가는지(pop)만 이해하면 어렵지 않다. 스택 : 1, 2, 3을 push하고 pop하면 3, 2, 1 순으로 나오게 된다. 큐 : 1, 2, 3을 enqueue하고 dequeue하면 1, 2, 3 순으로 나오게 된다. 즉, 스택과 큐는 서로 역순(reverse)이다. 나오는 자료를 역순 뒤집어 주..

    [Java] 너비우선탐색 (BFS) 미로찾기 Queue구현

    [Java] 너비우선탐색 (BFS) 미로찾기 Queue구현

    너비우선탐색(BFS) 최대한 넓게 이동한 후 더 이상 갈 수 없을 경우 아래로 이동한다. 인접한 노드를 먼저 탐색하고, 가장 멀리 떨어져 있는 정점을 가장 나중에 방문한다. 최단 경로를 찾고자 할 경우 주로 사용한다. 1. map : 갈 수 있는 길은 0, 갈 수 없는 길은 1이다. 2. enqueue한 길도 벽으로 변경하여 여러번 enqueue할 수 없도록 한다. (방문 처리) 3. class Index : Queue에 담을 객체 ( x와 y의 좌표를 가지고 있다.) 4. 현재 인덱스를 저장하고 있는 Index 클래스를 매개변수로 받아 findWay() 메서드에서 상하좌우를 탐색하고 enqueue한다. 5. enqueue한 Index를 dequeue해 위치를 이동한다. 0) { if (map[x-1][..