전체 글


99클럽 코테 스터디 | 비기너 | 2일차처음 접근 방법1. 사용자로부터 입력을 받아서 input을 input_list 안에 넣는다2. for문을 통해 input_list의 입력을 하나씩 읽어온다3. 각 입력을 다시 for문을 돌리며, if-else문을 통해 대소문자, 숫자, 공백이면 해당 개수를 count한다3-1. 아스키코드를 이용해서 대소문자를 구분하였다. 위와 같이 해결했을 때, 몇 가지 개선 사항이 필요했다. 우선, 사용자가 몇 개의 입력을 줄 지 모르는데, 이 경우 처리는 어떻게 해야 하는 것인지 궁금증이 들었다. 두번째, for문이 두번 중첩되기 때문에 시간복잡도 측면에서 몹시 비효율적인 코드이기 때문에 개선이 필요했다. 세번째, 주어진 예시에서 아래와 같은 경우 공백이 포함되지 않은 채로..


99클럽 코테 스터디 | 비기너 | 1일차 def solution(list): answer = [] for i in range(len(list[0])): cur = list[0][i] all_match = True for l in list[0:]: if l[i] != cur: all_match = False break if all_match: answer.append(cur) else: answer.append('?') answer = ''.join(answer) return answern = int(input..


2024년 11월 25일, AI 회사 Anthropic에서 MCP(Model Context Protocol)을 발표했다. Cursor AI와 같은 회사에서 해당 모델을 채택했으며, 이번에는 OpenAI에서도 MCP를 채택하겠다고 발표했다. 1. MCP의 기본 개념LLM 모델이 외부 도구나 데이터, 기능과 안전하게 상호작용할 수 있도록 설계된 개방형 프로토콜이다. MCP가 등장하기 전에는 각 데이터 소스마다 별도로 커넥터를 개발해야 했다. 예를 들어, AI 비서를 개발하기 위해 이메일, 캘린더, 파일 저장소와 같은 각 서비스마다 개별적인 API를 사용해서 통합해야 했지만, MCP를 도입한다면 표준화된 프로토콜이 이루어지기 때문에 한 번의 통합으로 여러 데이터 소스에 연결이 가능해진다. 활용 예시로, An..

class Node: def __init__(self, data): self.data = data self.next = Noneclass LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.next = Node(value) def print_all(self): cur = self.head while cur is not None: p..


https://www.acmicpc.net/problem/10808 def solution(input_str): alphabet_list = [0] * 26 for char in input_str: index = ord(char) - ord('a') alphabet_list[index] += 1 for i in range(len(alphabet_list)): print(alphabet_list[i], end=' ')input_str = input()solution(input_str)

for-else / while-else문- for/while문에서 break 없이 정상 종료되면 else문 실행됨- for/while문에서 중간에 빠져나가면 else문 실행되지 않음 nums = [1, 3, 5, 7, 9]for num in nums: if num % 2 == 0: break else: print("모두 홀수입니다.") 위의 코드는 for문이 break 없이 정상 종료되었으므로 "모두 홀수입니다." 라는 문장이 출력된다 nums = [1, 3, 4, 5, 7, 9]for num in nums: if num % 2 == 0: break else: print("모두 홀수입니다.") 반면, 위의 코드는 4라는 원소에서 break될 것이므로 "모두 ..


https://www.acmicpc.net/problem/1439 Step 1. 0에서 1로 바뀌는 구간 찾기Step 2. case1) 0으로 바뀔 때 횟수 카운트Step 3. case2) 1로 바뀔 떄 횟수 카운트Step 4. case1과 case2 중에서 min 값 구하기 def solution(string): input_list = list(input) #print(input_list) count_when_zero = 0 count_when_one = 0 for i in range(len(input_list)): # case1) 0으로 바뀔 때 횟수 count if (input_list[i] == '1') and (input_list[i] !=..

https://leetcode.com/problems/count-primes/ Step1. n개의 True로 구성된 is_prime 리스트 생성Step2. 0과 1에 대해 소수가 아니므로 False로 미리 처리Step3. 2부터 루트 n까지 반복하면서Step4. 그 수의 배수들을 False 처리Step5. is_prime 리스트에서 최종적으로 True의 개수만 세기 import mathclass Solution(object): def countPrimes(self, n): """ :type n: int :rtype: int """ if n == 0 or n == 1: return 0 is_prime = [..