목록python (44)
Kim Seon Deok
https://www.acmicpc.net/problem/17371 17371번: 이사 $(\frac{2}{3}, \frac{1}{3})$으로 이사를 가면 가장 가까운 편의시설은 (0, 1)으로 거리는 $\frac{2\sqrt{2}}{3}$이고, 가장 먼 편의시설은 (-4, 1) 혹은 (4, -3)으로 거리는 둘 다 $\frac{10\sqrt{2}}{3}$이다. 두 거리의 www.acmicpc.net "가장 가까운 편의시설까지의 거리와 가장 먼 편의시설까지의 거리의 평균이 최소가 되는 좌표로 이사하려고 한다. " 가장가까운 편의시설까지의 거리 = 0 이어도 된다. 즉 편의시설에 집이 위치해도 되는 것이다. 그러면 가장 먼 편의시설까지의 거리가 최소가 되어야 한다. 따라서 각 좌표를 기준으로 하여 가장 긴..
https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 이전 시도. 커서의 위치를 point변수로 설정하고 ""가 나오면 point를 1감소 1증가시켜 그 pointer에 해당하는 인덱스를 지웠다. 하지만 이 방식으로 하다보면 반례가 많고 시간복잡도가 매우 커, 양방향 대기열인 덱을 써보았다. import sys n = int(sys.stdin.readline()) # 입력받는 횟수 # 대문자, 소문자, 숫자, 백스페이스,화살표 password..
https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 1. 생성할 암호 길이l 과 t=사용한 알파벳 갯수c 를 입력받음 2. 길이가 c이면서 오름차순인 리스트 word 3. 모음 a e i o u를 저장한 리스트 m 4. 리스트 내에서 자음과 모음의 갯수를 세리는 함수 cnt 5. combination 함수를 이용해 word리스트에서 c 개만 골라 만들어질 수 있는 모든 경우를 생성 6. 모음이 1개 이상, 자음이 2개 이상인 것들만 저장하는 리스트 fi..
문자열 검색 어떤 문자열 안에 다른 문자열이 포함되어 있는지 검사하고, 만약 포함되어 있다면 어디에 위치하는지 찾아내는 것 텍스트 : 검색되는 쪽의 문자열 패턴 : 찾아내는 문자열 1.브루트 포스법 = 단순법 선형검색을 단순하게 확장한 알고리즘 문자가 일치하는 동안 차례로 계속 검사. 그러나 다른 문자를 만나면 더이상 검사를 중단하고 다음 인덱스로 패턴의 첫번째문자부터 처음부터 다시 검사를 한다. 단순 알고리즘이나 매우 빠르게 동작한다. # 브루트 포스법으로 문자열 검색하기 def bf_match(txt: str, pat: str) -> int: """브루트 포스법으로 문자열 검색""" pt = 0 # txt를 따라가는 커서 pp = 0 # pat를 따라가는 커서 while pt != len(txt) a..
https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 1.순열을 통해 문제를 풀기 위해 itertools 모듈의 permutations함수를 import 2.n과 hint를 통해 입력을 받음 3.1~9까지 문자열의 형태로 number리스트 생성 4.permutations함수를 통해 number리스트에서 만들어질 수 있는 모든 경우의 수를 example_리스트에 저장 5.입력받은hint 리스트중 0번째 인덱스만 뽑아내어 문자열로 변경 후 만들어진 새로..