반응형 최적화3 [class2]백준 1920번(수 찾기) - 코딩테스트 22일차(2025.02.12) 문제유형이분 탐색풀이 방법 도출 과정1. 어떤 수를 찾아내는 것이기 때문에 탐색 알고리즘을 쓰면 된다. 그중 이분 탐색을 쓰겠다.2. left, right를 설정하고 mid는 right - left 의 절반값을 쓰면된다.3. 이제 이분 탐색법을 사용하여 문제를 풀면 된다. 시간 복잡도입력 처리: O(N)정렬: O(N log N)M번 이진 탐색 실행 O(M log N) 최종 시간 복잡도O(N log N + M log N)코드 및 간단설명이분탐색을 사용하여 문제를 풀었다.import sysinput = sys.stdin.readlineN = int(input())A = list(map(int, input().split()))A.sort()M = int(input())B = list(map(int, input.. 2025. 2. 12. 코딩테스트 17일차(2025.02.05) - 백준10809번(알파벳 찾기) 내 풀이첫째 줄 단어 S 각각의 알파벳에 대해서 a가 처음 등장하는 위치, b가 처음 등장하는 위치 z가 처음 등장하는 위치를 공백으로 구분하여 출력어떤 알파벡이 단어에 포함되어 있지 않다면 -1를 출력한다. S = input()alpha = 'abcdefghijklmnopqrstuvwxyz'results = [-1] * 26for i in range(len(S)): results[alpha.index(S[i])] = S.index(S[i])print(*results)내가 하고자 한 것은 S를 순회해서 인덱스의 순서를 result에 알파벳순서대로 넣는 것이다.결과: 정답, 하지만 다시 공부할 필요있음.또 다른 풀이S = list(input())c = 'abcdefghijklmnopqrstuvwxy.. 2025. 2. 5. 코딩테스트 8일차(2025.01.22) - 15552번(빠른 A+B) 여기서 말하는 사항은 다음과 같다. 1. input() 대신 sys.stdin.readline() 사용기본적으로 Python의 input()은 입출력 속도가 느리다. 대신 sys.stdin.readline()을 사용하면 속도를 높일 수 있다. 다만, 이 방식은 입력된 문자열의 끝에 개행 문자(\n)가 포함되므로, 문자열로만 저장하려면 .rstrip()을 사용해 개행 문자를 제거해야 한다.import sys# 기본 input() 방식value = input()# sys.stdin.readline() 방식 (개행 문자 제거)value = sys.stdin.readline().rstrip() 2. 입출력 스트림을 효율적으로 처리 또한 입력과 출력을 나누어서 처리할 필요가 없다. 테스트케이스를 전부 입력받아 .. 2025. 1. 22. 이전 1 다음 반응형