문제: 7785 - 회사에 있는 사람 백준 7785 자료구조 Silver V 문제링크 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 접근 시험기간이 끝나고 드디어 알고리즘을 풀 여유가 생겼다 ㅠㅠ 몸풀기로 조금 쉬운 문제를 풀어봤는데 그 난이도에 비해 채점 시간이 너무 길어서 쫄리면서 기다렸는데 다행히 패스했다,, 각설하고.. 이 문제는 딕셔너리를 사용했는데 사람 이름을 key에 처음 등록해주고 같은 이름이 등장할 때 leave인지 enter인지 값을 update 해주..
문제: 1406-에디터 백준 1406 자료구조 Silver III 문제링크 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수� www.acmicpc.net 접근 이 문제는 풀기 전에 접근 방식을 엄청 고민했던 것 같다. 명령어들이 굉장히 직관적이기 때문에 그냥 list를 만들고 해당 인덱스에 insert하고 pop하는 방식으로 하면 되지 않을까? 했는데 시간 제한이 0.3초여서 시간 초과가 발생할 것 같아 스택을 사용하는 방법을 택했다. *insert와 pop은 O(n)의 시간 복잡도를 갖기 때문에 느린 편이다! *stack과 queue에서..
문제: 2164: Zero 백준 2164 자료구조 Silver IV 문제링크 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 첫 시도: 시간초과 1~N 까지의 수를 스택에 append 한다. for loop이 한번 돌 때 스택의 가장 위의 원소를 pop해주고 그 다음 원소의 인덱스를 재설정 해준다. 스택의 가장 밑에 위치하도록 원소의 인덱스를 재설정해주고 그에 따라 다른 원소들의 인덱스 역시 재설정 해준다. 스택의 가장 하위에 새로운 원소를 추가하는 것이 어려워 애초에 스택에 입력 값을 역순으로 넣어주었다. ..