Algorithm & Problem Solving/구현(Implementation)
-
[백준 3190] 뱀 (Python)Algorithm & Problem Solving/구현(Implementation) 2021. 1. 27. 22:44
www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제풀이 N, K, L : 입력값 command : 명령 d : 방향 time : 현재 시간 cmd_idx : command 리스트의 원소 탐색을 위한 인덱스 특별한 알고리즘 필요없이 단순히 주어진 조건대로 잘 구현(?) 하기만 하면 해결할 수 있는 문제이다. 한 가지 주의할 것이, 사과가 없는 빈 공간으로 뱀의 머리가 이동할때, 몸 길이가 변하지 않는 것이다. 이 부분만 주의하면 문제없이 해결할 수 있다. board..
-
[백준 9081] 단어 맞추기 (Python)Algorithm & Problem Solving/구현(Implementation) 2021. 1. 22. 19:51
www.acmicpc.net/problem/9081 9081번: 단어 맞추기 입력의 첫 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 하나의 단어가 한 줄로 주어진다. 단어는 알파벳 A~Z 대문자로만 이루어지며 항상 공백이 없는 연속된 알 www.acmicpc.net 문제풀이 단순 구현문제로, next_permutation 함수를 이용하여 쉽게 해결할 수 있다. 코드 import sys def next_permutation(a): i = len(a) - 1 while i > 0 and a[i - 1] >= a[i]: i -= 1 if i = a[j]: j -= 1 a[i - 1], a[j] = a[j], a[i - 1] j = len(a) - 1 while i <..
-
[백준 1360] 되돌리기 (Python)Algorithm & Problem Solving/구현(Implementation) 2021. 1. 21. 01:55
www.acmicpc.net/problem/1360 1360번: 되돌리기 첫째 줄에 명령의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 명령과 수행한 시간이 주어진다. 항상 시간이 오름차순으로 주어지고, type c에서 c는 알파벳 소문자, undo t에서 t는 1보다 크거나 같 www.acmicpc.net 문제풀이 N : 입력값 cmd, ch, t : 입력값 q : 현재까지의 시간과 타이핑한 텍스트 저장 리스트 [(시간, 텍스트)] now : 현재 텍스트 따로 알고리즘이 필요없는, 그냥 문제에서 요구한대로 구현만 하면 해결할 수 있는 문제이다. 몇몇 예외 테스트케이스만 조심하면 쉽게 해결할 수 있다. 1. cmd가 type일 경우 - 현재 텍스트(now)에 ch 추가 - q에 시간(t)과 텍스트(no..
-
[백준 2886] 자리 전쟁 (Python)Algorithm & Problem Solving/구현(Implementation) 2020. 11. 23. 21:31
www.acmicpc.net/problem/2886 2886번: 자리 전쟁 R x C의 형태를 지닌 전차 안에는 의자와 사람들의 정보들이 주어진다. 사람들은 다리가 아픈 것을 매우 싫어하기 때문에 빈 의자가 보이면 무조건 앉으려고 한다. 하지만 나보다 의자에 가까이 www.acmicpc.net 문제풀이 R, C : 초기 입력 행, 열 board : 입력 값 chair : 의자 좌표(x, y)를 가지고 있는 리스트 people : 사람 좌표(x, y)를 가지고 있는 리스트 seated : 의자 인덱스 번호에 따른 의자 방문 횟수를 저장하는 리스트 finished : 사람 인덱스 번호에 따라 의자를 방문했는지 안했는지 판단하는 bool 리스트 # seated와 finished 는 문제조건 (1