[Python] 백준 알고리즘 온라인 저지 3190 뱀 문제 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 삼성 기출문제로 시뮬레이션 문제입니다. 난이도가 조금 있는 문제에 도전해보고 싶어 풀이하게 되었습니다. https://jjangsungwon.tistory.com/27 위 블로그의 풀이를 참조하였습니다. 코드 from collections import deque def change(d, c): # 상(0) 우(1) 하(2) 좌(3) # 동쪽 회..
[Python] 백준 알고리즘 온라인 저지 1158 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 쉽게 설명하자면 원들 돌며 중첩되는 k 번째 사람들을 리스트에서 빼면서 리스트를 비우는 문제로 나머지 개념을 활용하여 원을 돌면 된다. 코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) circle = [i for i in range(1, n+1)] result = [] num = k-1 while len(circle): if num >= l..
[Python] 백준 알고리즘 온라인 저지 10845 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 큐의 구조 이해를 돕는 문제였던 것 같다. FIFO 선입선출에 대해 알고 있다면 쉽게 해결할 수 있었다. 코드 import sys input = sys.stdin.readline def push(x): que.append(x) def pop(): if len(que) == 0: print(-1) else: first = qu..
[Python] 백준 알고리즘 온라인 저지 2164 카드2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net deque 사용법이 익숙하지 않아 쉬운 문제로 접해보기 위해 풀이하였다. 상당히 쉬운 문제였다. 코드 from collections import deque import sys input = sys.stdin.readline n = int(input()) q = deque() for i in range(1, n+1): q.append(i) ..
[Python] 백준 알고리즘 온라인 저지 1406 에디터 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 이번 문제는 (자료 구조, 스택, 연결 리스트) 알고리즘 문제로 문제의 내용은 단순히 편집기의 역할을 구현하는 것이었으나 커서를 이동하고 새로운 자료들을 추가하는 방법에 대해 찾기 위해 다른 분들의 코드를 참조했다. 코드 import sys input = sys.stdin.readline st1 = list(input().strip()) #..