구현
-
[백준] 21314번: 민겸 수(Python)Algorithm PS👩🏻💻/백준 2023. 5. 14. 14:29
문제 링크 https://www.acmicpc.net/problem/21314 21314번: 민겸 수 민겸 수 하나가 주어진다. 민겸 수는 대문자 M과 K로만 이루어진 문자열이며, 길이는 3,000을 넘지 않는다. www.acmicpc.net 풀이 풀이 설명 우선 문장에 K 포함 유무에 따라 나뉜다. K가 없는 경우 -> M만 있다는 뜻. result를 바로 구할 수 있다. ex. MMM인 경우 max: 111, min: 100 K가 있는 경우, K를 기준으로 나뉘기 수가 결정되므로 K의 위치를 담은 리스트(k_pos)를 전달해준다. def find_max(k_pos) # max 값을 찾는다. k를 포함하여 5∗10N 꼴로 정리한다. 문장의 끝이 k가 아니라면, m으로 끝난다는 뜻이므로 마지막 k의..
-
[백준] 17276번: 배열 돌리기 (Python)Algorithm PS👩🏻💻/Implementation 2023. 5. 8. 01:34
문제 링크 https://www.acmicpc.net/problem/17276 17276번: 배열 돌리기 각 테스트 케이스에 대해 회전 연산을 마친 후 배열의 상태를 출력한다. n줄에 걸쳐 각 줄에 n개의 정수를 공백으로 구분하여 출력한다. www.acmicpc.net 풀이 코드 시간을 줄이기 위해 코드가 길어졌음. -> 제한 시간이 3초라 안길었어도 될 뻔했다.. 주대각선, 가운데열, 부대각선, 가운데행 이 4가지 줄만 바뀌므로, 원래 배열에서 이 4가지를 빼서 before 배열에 담아둔다. after 배열에 바뀌는 부분만 담는다. 각도에 따라 처음 배열의 주 대각선 원소들이 놓여지는 방향이 다르므로, 규칙에 따라 8가지로 나누었다. (시간 제한이 3초나 되기 때문에 누적해서 계속 돌려도 통과하는 것 ..
-
[백준] 22858번: 원상 복구 (small) (Python)Algorithm PS👩🏻💻/백준 2023. 5. 7. 17:37
문제 링크 https://www.acmicpc.net/problem/22858 22858번: 원상 복구 (small) 수가 적혀있는 P1,P2,...,PN N개의 카드가 있다. 1부터 N까지 수가 하나씩 존재하는 D1,D2,...,Di,...DN 가 있다. 이때 Di는 PDi 값을 i 번째로 가지고 오는 것을 의미한다. 이러한 www.acmicpc.net 풀이 코드 P 카드를 D의 규칙에 따라 이동하는 문제 원래 카드인 P를 다시 찾는 것이므로 결과 카드인 S를 D의 규칙 반대로 이동시키기. P[Di] 카드를 i번째로 옮기기 -> S[i] 카드를 Di로 옮기기 from copy import deepcopy n, k = map(int, input..