일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 마리사
- manon
- docker
- SF6
- AWS
- uvicorn
- 스파 공략
- marisa
- CosPro
- 올웨더포트폴리오
- sf6 마리사
- 프레임표
- 서비스 운영이 쉬워지는 AWS 인프라 구축 가이드
- 춘리공략
- 마리사공략
- 스파6
- 코딩테스트
- 클래식
- 스파6공략
- 공략
- 파이참
- 스파6 마리사
- Swagger UI
- FastAPI
- 스파6 공략
- Pycharm
- 격투게임
- python
- 모던
- postgres
- Today
- Total
목록CosPro (29)
Modern

문제 풀이 최소값(tmp)과 배열의 요소값의 차이(price-tmp)가 가장 큰 값, 현재 보유하고 있는 결과값(answer) 중 큰 수를 리턴하다보면 가장 큰 차액을 얻을 수 있습니다. 최초 문제에서는 price와 tmp의 위치가 반대로 되어 있어서 정확한 계산이 되질 않았습니다. def solution(prices): INF = 1000000001; tmp = INF answer = -INF for price in prices: if tmp != INF: answer = max(answer, price-tmp)#수정 tmp = min(tmp, price) return answer COS Pro의 예시 문제는 아래 링크에서 확인 가능합니다. 코딩전문가자격시험, COS Pro(Coding Speciali..

문제 풀이 문제의 4번, '계단 제일 아래에서 지면 제자리에 있습니다.' 를 표현한 조건문이 없습니다. 그리하여 첫번째 가위바위보를 졌음에도 불구하고 -1이 되어버렸습니다. 아래 해당 부분을 수정한 소스입니다. def func(record): if record == 0: return 1 elif record == 1: return 2 return 0 def solution(recordA, recordB): cnt = 0 for i in range(len(recordA)): if recordA[i] == recordB[i]: continue elif recordA[i] == func(recordB[i]): cnt = cnt + 3 elif cnt > 0:#수정 cnt = cnt - 1 return cnt ..

문제 풀이 이 문제에서 배열의 각 는 후보번호를 뜻합니다. 따라서 후보의 번호를 리턴하기 위해서는 배열의 요소가 아닌 위치값을 리턴해야 합니다. # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(N, votes): vote_counter = [0 for i in range(N+1)] for i in votes: vote_counter[i] += 1 max_val = max(vote_counter) answer = [] for idx in range(1, N + 1): if vote_counter[idx] == max_val: answer.append(idx)#수정 return answer COS Pro의 예시 문제는 아래 링크..

문제 풀이 다른 사람이 작성한 소스를 해석하는 것은 은근히 어렵다는 것을 이번 문제를 통해서 다시 한번 깨닫네요. 이 문제는 주어진 배열이 오름차순으로 이미 정렬이 되어 있기 때문에 가능한 방법입니다. 1. 각각의 요소를 비교하여 작은 쪽을 append 한 후, 그 배열의 index를 증가시킵니다. 2. 어느 한쪽의 배열 값을 모두 append 할 때까지 while 문이 수행됩니다. 3. 남은 하나의 배열을 모두 append합니다. def solution(arrA, arrB): arrA_idx = 0 arrB_idx = 0 arrA_len = len(arrA) arrB_len = len(arrB) answer = [] while arrA_len-arrA_idx > 0 and arrB_len-arrB_id..

문제 풀이 나이트는 총 8가지 위치로 움직일 수 있습니다. 이를 배열의 크기로 나타낸다면, direction = [ [1,2],[-1,2],[1,-2],[-1,-2],[2,1],[-2,1],[2,-1],[-2,-1] ] 으로 표현할 수 있습니다. 현재 위치에 위의 움직일 수 있는 위치값을 더하여 체스판안에 존재한다면 성공! 체스판의 A~H를 숫자로 변환하기 위해 ASCII 코드를 활용했습니다. 영문자 A의 아스키코드값은 65입니다. 따라서 ASCII코드 변환 함수인 ord('A)에서 64를 빼주면 1이 됩니다. 이와 마찬가지로 B에서 64를 빼면 2가 됩니다. def solution(pos): answer = 0 direction = [[1,2],[-1,2],[1,-2],[-1,-2],[2,1],[-2,..

문제 풀이 드디어 생각을 해야하는 문제가 나왔습니다... 더 쉽게 풀 수 있는 방법이 분명 있을텐데, 조건이 까다롭게 들어가서 생각보다 제어가 잘 안되었네요. 배열이동에 대하여 명확한 종료조건을 먼저 설정하여 my_range() 란 함수를 작성했습니다. 그리고 direction을 나타낼 dx, dy를 list형태로 관리하여 배열 이동에 사용했습니다. def my_range(x,y,n) : return 0

문제 풀이 0이 없다는 걸 가정하여 각 자리수에서 0일 경우 1을 더해주는 형식입니다. 일단 예시에 충실하게 작성한다면.. 1. 제시된 숫자에 1을 더한다. 2. 각 자리수에서 10의 배수로 나눌 때 나머지가 0이면 해당 숫자를 더해서 0을 1로 변경한다. 위의 순서로 풀이됩니다. 관련 소스는 아래 있습니다. def solution(num): answer = 0 num = num+1 n = 1 while num//n%10 == 0: # print(num) num = num+n n = n*10 answer = num return answer COS Pro의 예시 문제는 아래 링크에서 확인 가능합니다. 코딩전문가자격시험, COS Pro(Coding Specialist Professional) (ybmit.c..

문제 풀이 배열 인덱스와 함수 및 리턴값에 대한 이해를 묻는 문제입니다. - 빈칸1 : 주어진 수식으로부터 연산자의 위치를 찾습니다. 해당 함수는 func_b입니다. - 빈칸2 : 수식과 연산자 위치를 넣으면 연산자 위치를 기준으로 숫자 2개를 리턴합니다. 이를 나타내는 함수는 func_c입니다. - 빈칸3 : 숫자와 연산자를 넣으면 계산합니다. func_a에 그 기능이 있습니다. def solution(expression): exp_index = func_b(expression)# 빈칸1 first_num, second_num = func_c(expression, exp_index) # 빈칸2 result = func_a(first_num, second_num, expression[exp_index])..