Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

Nonamed Develog

[TIL] AI 웹 개발 7기 사전 캠프 5-1 본문

WHAT I LEARN/TIL

[TIL] AI 웹 개발 7기 사전 캠프 5-1

노네임드개발자 2024. 6. 17. 18:04

코드카타 알고리즘/SQL

알고리즘27. 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건

- phone_number는 길이 4 이상, 20이하인 문자열입니다.

def solution(phone_number):
    answer = ""
    for i in phone_number[:-4]:
        answer += "*"
    return answer + phone_number[-4:]

-4번째를 기준으로 풀었지만 : 의 의미를 이해할 필요가 있었다. : 을 몰랐기에 -4번 째가 겹치는줄 알고 -5번 째까지 *로 변환했었다. : 을 기준으로 생각하자.

 

알고리즘28. 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

- 1 ≤ numbers의 길이 ≤ 9

- 0 ≤ numbers의 모든 원소 ≤ 9

- numbers의 모든 원소는 서로 다릅니다.

def solution(numbers):
    return 45 - sum(numbers)

 

 

알고리즘29. 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한 조건

- arr은 길이 1 이상인 배열입니다.

- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

def solution(arr):
    if len(arr) == 1:
        return [-1]
    else:
        arr.remove(min(arr))
    return arr
return arr.remove(min(arr))

리턴 값을 이렇게 쓸 시 오류가 생기니 주의하자.

 

SQL27. 진료과별 총 예약 횟수 출력하기

SELECT mcdp_cd "진료과코드",
       COUNT(1) "5월예약건수"
FROM appointment
WHERE month(apnt_ymd)="5"
GROUP BY mcdp_cd
ORDER BY 5월예약건수, 진료과코드

 

SQL28. 12세 이하인 여자 환자 목록 출력하기

SELECT pt_name,
       pt_no,
       gend_cd,
       age,
       IFNULL(tlno, 'NONE')
FROM patient
WHERE age <= 12 AND gend_cd = 'W'
ORDER BY age DESC, pt_name

 

SQL29. 인기 있는 아이스크림

SELECT flavor
FROM first_half
ORDER BY total_order DESC, shipment_id