코드카타 29

[2025/02/14]알고리즘 코드카타 29회차

PYTHON다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.1478 → "one4seveneight"234567 → "23four5six7"10203 → "1zerotwozero3"이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.참고로 각 숫자에 대응되는 영단어는 다음과 같습니다.0 : zero ~ 9 : nine def solution(s):     convert = {'zero' : '0', 'one' : '1', 'two' : '2',             'three' : '3', 'four' : '4', 'five' : '5',        ..

코드카타 08:43:26

[2025/02/13]알고리즘 코드카타 28회차

PYTHON어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. def solution(s, n):     ak = ''     for i in s :         k = chr(ord(i) + n)         if ord(i) in range(65, 91) :             if ord(i) + n in range(65, 91) :                 ak += k             else :  ..

코드카타 2025.02.13

[2025/02/12]알고리즘 코드카타 27회차

PYTHON명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다. 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return 하도록 solution 함수를 완성해주세요. def solution(sizes):     ho = [max(i) for i in sizes]     ver = [min(i) for i in sizes]     return max(ho) * max(ve..

코드카타 2025.02.12

[2025/02/11]알고리즘 코드카타 26회차

PYTHON숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. def solution(t, p):     p_len = len(p)     count = 0     for i in range(len(t) - p_len + 1) :         s = t[i : (i + p_len)]         if ..

코드카타 2025.02.11

[2025/02/10]알고리즘 코드카타 25회차

PYTHON1. 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. def solution(n):     answer = ''     while n >= 1:         n, r = divmod(n, 3)         answer += str(r)     answer = int(answer, 3)     return answer 2. 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. def solutio..

코드카타 2025.02.10

[2025/02/07]알고리즘 코드카타 24회차

PYTHON두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. def solution(n, m):     a = max(n, m)     b = min(n, m)     while b > 0:         a, b = b, a % b     return [a, n * m / a] SQL상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 ..

코드카타 2025.02.07

[2025/02/06]알고리즘 코드카타 23회차

PYTHON이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. a, b = map(int, input().strip().split(' ')) for i in range(b):     print(a * '*') SQLFOOD_ORDER 테이블에서 2022년 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 2022년 5월 1일까지 출고완료로 이 후 날짜는 출고 대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요. SELECT ORDER_ID, PRODUCT_ID,  DATE_FORMAT(OUT_DATE..

코드카타 2025.02.06

[2025/02/05]알고리즘 코드카타 22회차

PYTHON행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. def solution(arr1, arr2):     return [[arr1[a][i] + arr2[a][i] for i in range(len(arr1[a]))] for a in range(len(arr1))] SQL'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요.결과는 출판일을 기준으로 오름차순 정렬해주세요. SELECT BOOK_ID, AUTHOR_NA..

코드카타 2025.02.05

[2025/02/04]알고리즘 코드카타 21회차

PYTHON문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. def solution(s):     try :         int(s)         if len(s) == 4 or len(s) == 6 :             return True         else :             return False     except :              return False SQL보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화1되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생..

코드카타 2025.02.04

[2025/02/03]알고리즘 코드카타 20회차

PYTHON1. 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. def solution(left, right):     return sum([i if len([a for a in range(1, (right + 1)) if i % a == 0]) % 2 == 0                 else -i for i in range(left, (right + 1))]) 2. 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 ..

코드카타 2025.02.03