Nonamed Develog
[TIL] AI 웹 개발 7기 사전 캠프 5-1 본문
코드카타 알고리즘/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
'WHAT I LEARN > TIL' 카테고리의 다른 글
[TIL] AI 웹 개발 7기 사전 캠프 5-3 (0) | 2024.06.19 |
---|---|
[TIL] AI 웹 개발 7기 사전 캠프 5-2 (0) | 2024.06.18 |
[TIL] AI 웹 개발 7기 사전 캠프 4-5 (1) | 2024.06.14 |
[TIL] AI 웹 개발 7기 사전 캠프 4-4 (1) | 2024.06.13 |
[TIL] AI 웹 개발 7기 사전 캠프 4-3 (0) | 2024.06.12 |