목록구현 (3)
Seeeni Tech Diary
1. 문제 https://www.acmicpc.net/problem/20914 20914번: QWERTY 자판 Albert는 QWERTY 키보드를 이용해 (위 그림 참고) 영문 대문자로 ('A'-'Z') 구성된 문자열을 입력하고 싶다. 아직 키보드 만지는 것이 서툰 Albert는 왼쪽 검지만을 이용해 버튼을 누르는 버릇이 있다. www.acmicpc.net 2. 문제 풀이 알고리즘 1) QWERTY 좌표 딕셔너리 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M QWERTY 키보드를 왼쪽으로 정렬하면 위의 표와 같이 되는데, 이 좌표를 그대로 qwerty 딕셔너리에 저장해준다. qwerty = {"Q": [0, 0], "W": [0, 1], ... , "A": ..
1. 문제 https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 2. 문제 풀이 알고리즘 N x M 칸에 치즈가 놓여있는데, 1이 치즈, 0이 공기를 나타낸다. 치즈 한 칸은 상하좌우 중 공기와 닿는 부분이 2칸 이상 있으면 녹게 된다. 치즈가 모두 녹았을 때의 시간을 구해야 하는 문제이다. 빙산이 녹을 때를 구하는 문제와 차이점은 치즈의 내부 공기는 치즈를 녹는 데에 영향을 줄 수 없다는 것이다. 따라서 치즈의 내부 공기와 외부 공기를..
1. 문제 https://www.acmicpc.net/problem/17143 2. 문제 풀이 알고리즘 R x C 칸에 상어가 m마리가 있고 상어는 각각 한 칸을 차지하고, 1초 동안 움직이는 속도 s, 방향 d에 따라서 d방향으로 1초 동안 s칸만큼 이동한다. 벽에 닿을 시에는 방향을 반대방향으로 움직인다. 낚시왕은 1번 열부터 시작하여 C열에 도달할 때까지 한 열에 있는 상어 중 가장 가까운 상어를 잡는다. 열을 한 번 움직일 때마다 1초가 소요된다. 이때 낚시왕이 C열에 도달하여 움직임을 멈출 때까지 잡은 상어의 크기의 합을 구해야한다. 이 문제를 해결하기 위해서는 현재 열에서 가장 가까운 상어를 찾음 → 상어를 잡음 → 남은 상어를 이동 이 세 가지를 모두 구현해야 한다. 3. 구현 1) 입력 받..