알고리즘/자료구조 3

Python - set 자료형 / BOJ 25192

백준 25192 번 문제는 간단히, input을 확인하여, ENTER 이후 새로 들어온사람은 res 값을 +1 해주면 되는 중복 검사 문제이다. 아래 코드는 백준 25192번을 풀이하면서 처음 작성한 코드이다. n = int(input())res = 0user = []flag = Falsefor i in range(n): inpp = input() if inpp == "ENTER": flag = True user = [] elif flag and inpp not in user: res += 1 user.append(inpp) print(res)방문한 사람의 정보를 user 라는 리스트 자료형에 저장후 not in 구문을 이용하..

자료구조 - 큐 (Queue) 란? /BOJ 10845, 18258

지난 포스트 Stack에 이은 큐 (Queue) 자료구조에 대해 알아보자, 큐는 스택과 반대로, FIFO(First-In-First-Out), 후입 선출 LILO(Last-In-Last-Out) 규칙을 따른다. 예를 들어, 웨이팅 줄이 대표적이다. 큐를 이용하는 명령어는 크게 6가지가 있는데push X: 정수 X를 큐에 넣는다.size: 큐에 들어있는 값 개수를 출력한다.front: 큐의 가장 앞에 있는 값을 출력한다. back: 큐의 가장 뒤에 있는 값을 출력한다. empty: 큐가 비어있는지 판단한다.pop: 큐에서 가장 앞에 있는 값을 빼고, 그 값을 출력한다. C 기준으로 큐도 구현하는 방법이 크게 두가지 있는데,#include #include #include using namespace std;..

자료구조 - 스택 (Stack) 이란? /BOJ 10828, 28278

자료구조를 배우게 되면 가장 먼저 배우는 스택, 우리가 일상 속 많이 들어보는 용어이기도 하다. 흔히 스택을 쌓는다 라고 표현을 하는데, 쌓는다 라는 동사는 스택의 성질에서 유래되었다. 스택은 선입후출 FILO(First-In-Last-Out), 후입 선출 LIFO(Last-In-First-Out) 규칙을 따른다. 쉽게 설명하면, 마지막에 들어간 것이 처음으로 나오는 것으로, 젠가통에 젠가를 하나씩 꺼낼때 가장 마지막(위)에 있는 젠가 먼저 꺼내는 것과 같은 로직이다. 스택을 사용하는 명령어는 크게 5가지가 있다push(n) : stack의 최상단 (마지막)에 값을 넣는다.pop() : stack의 최상단 값을 꺼내고 반환한다.peek(), top() : stack 최상단 값을 반환한다. (pop에서 꺼..