728x90
반응형
SMALL
Programmers 레벨 0_코딩 기초 트레이닝 문제 풀이
https://school.programmers.co.kr/learn/challenges/training?order=recent
코딩 기초 트레이닝 | 프로그래머스 스쿨
프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.
school.programmers.co.kr
풀이 날짜 : 2023-09-21
문제 수 : 8
1. 배열의 원소 삭제하기
정수 배열 arr과 delete_list가 있습니다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 return 하는 solution 함수를 작성해 주세요.
def solution(arr, delete_list):
return [a for a in arr if a not in delete_list]
2. 부분 문자열인지 확인하기
부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미합니다. 예를 들어, 문자열 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이지만, "aaa", "bnana", "wxyz"는 모두 "banana"의 부분 문자열이 아닙니다.
문자열 my_string과 target이 매개변수로 주어질 때, target이 문자열 my_string의 부분 문자열이라면 1을, 아니라면 0을 return 하는 solution 함수를 작성해 주세요.
def solution(my_string, target):
return 1 if target in my_string else 0
def solution(my_string, target):
return int(target in my_string)
3. 부분 문자열
어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 합니다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열입니다.
문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요.
def solution(str1, str2):
return int(str1 in str2)
4. 꼬리 문자열
문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다. 예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고 문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다.
문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때, str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을 return하도록 solution 함수를 완성해주세요.
def solution(str_list, ex):
return "".join([i for i in str_list if ex not in i])
def solution(str_list, ex):
return ''.join(filter(lambda x: ex not in x, str_list))
5. 정수 찾기
정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요.
def solution(num_list, n):
return int(n in num_list)
6. 주사위 게임 1
1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다.
- a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다.
- a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
- a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다.
두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.
def solution(a, b):
if a % 2 != 0 and b % 2 != 0 :
return a**2 + b**2
elif a % 2 == 0 and b % 2 == 0 :
return abs(a-b)
else :
return 2 * (a+b)
def solution(a, b):
return a**2+b**2 if a & b else (abs(a-b) if a%2 & b%2 else 2*(a+b))
7. 날짜 비교하기 ⭐
정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.
만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요.
def solution(date1, date2):
if date1[0] > date2[0] :
return 0
elif date1[0] < date2[0] :
return 1
else :
if date1[1] > date2[1] :
return 0
elif date1[1] < date2[1] :
return 1
else :
return 1 if date1[2] < date2[2] else 0
def solution(date1, date2) :
return int(date1 < date2)
8. 커피 심부름
팀의 막내인 철수는 아메리카노와 카페 라테만 판매하는 카페에서 팀원들의 커피를 사려고 합니다. 아메리카노와 카페 라테의 가격은 차가운 것과 뜨거운 것 상관없이 각각 4500, 5000원입니다. 각 팀원에게 마실 메뉴를 적어달라고 하였고, 그 중에서 메뉴만 적은 팀원의 것은 차가운 것으로 통일하고 "아무거나"를 적은 팀원의 것은 차가운 아메리카노로 통일하기로 하였습니다.
각 직원이 적은 메뉴가 문자열 배열 order로 주어질 때, 카페에서 결제하게 될 금액을 return 하는 solution 함수를 작성해주세요. order의 원소는 아래의 것들만 들어오고, 각각의 의미는 다음과 같습니다.
def solution(order):
return sum(5000 if 'cafelatte' in i else 4500 for i in order)
728x90
반응형
LIST
'Coding Study > Programmers (Python)' 카테고리의 다른 글
[프로그래머스/파이썬] Lv.0 조건에 맞게 수열 변환하기 3 (3') (0) | 2023.09.21 |
---|---|
[프로그래머스/파이썬] Lv.0 그림 확대 (40') (0) | 2023.09.21 |
[프로그래머스/파이썬] Lv.0 함수 문제 모음집 (1') (0) | 2023.09.21 |
[프로그래머스/파이썬] Lv.0 전국 대회 선발 고사 (36') (1) | 2023.09.21 |
[프로그래머스/파이썬] Lv.0 뒤에서 5등 위로 (1') (0) | 2023.09.21 |