본문 바로가기

Til

Til 24.03.24 프로그래머스 파이썬 기초

>>71 마지막 두원소

 

# 정수 리스트 num_list가 주어질 때, 
# 마지막 원소가 그전 원소보다 크면 
# 마지막 원소에서 그전 원소를 뺀 값을 추가!
# 마지막 원소가 그전 원소보다 크지 않다면 
# 마지막 원소를 두 배한 값을 추가하여 return

 

 
def solution(num_list):
    # 만약 리스트의 마지막 값이 두 번째 마지막 값보다 크면,
    # 두 값의 차이를 리스트에 덧붙임
    if num_list[-1] > num_list[-2]:
        num_list.append(num_list[-1] - num_list[-2])
    # 그렇지 않다면 마지막 값에 2를 곱한 값을 리스트에 덧붙임
    else:
        num_list.append(num_list[-1] * 2)
   
    return num_list
 

 

 

>>72 원하는 문자열 찾기

 
def solution(myString, pat):
    # 입력된 문자열과 패턴을 소문자로 변환해서 대소문자를 구별ㄴㄴ
    myString = myString.lower()
    pat = pat.lower()
    # 패턴이 문자열 안에 들어있으면 1을 반환
    if pat in myString:
        return 1
    # 그렇지 않으면 0을 반환
    else:
        return 0

 

 

>>73 배열 만들기

 

def solution(n, k):
    # 결과를 저장할 빈 리스트생성
    answer = []
    # k부터 n까지 k 간격으로 반복
    # 리스트에 값을 추가
    for i in range(k, n + 1, k):
        answer.append(i)
    # 결과 리스트를 반환
    return answer
   

 

>>74 가위바위보

 
def solution(rsp):
    # 결과를 저장할 리스트생성
    answer = []
   
    # 주어진 rsp 문자열의 각 문자에 대해 반복
    # 각 경우에 따라 결과 리스트에 추가
    for i in rsp:
        if i == '2':
            answer.append('0')
        elif i == '0':
            answer.append('5')
        elif i == '5':
            answer.append('2')
   
    # 결과 리스트를 문자열로 변환해서 반환
    return ''.join(answer)

 

# join() 메서드는 문자열을 이어 붙일 때 사용
# 여기서는 빈 문자열('')을 사용하여 아무런 공백이나 구분자 없이 문자열을 이어붙임

# 예>> result가 ['0', '5', '2']와 같이 문자열을 담은 리스트일 때, 
# ''.join(result)를 호출하면 '052' 문자열이 반환 
.
#### 따라서 ''.join(result)는 리스트 result에 있는 문자열들을 하나의 문자열로 결합하여 반환하는 역할###

#딕셔너리 추가 해서 사용가능

 

def solution(rsp):
    # 각각의 가위바위보에 이기는 경우를 딕셔너리 저장
    win = {'2': '0', '0': '5', '5': '2'}
    # 결과를 저장할 리스트생성
    answer = []
   
    # 주어진 rsp 문자열의 각 문자에 대해 반복
    # 이기는 경우를 찾아 결과 리스트에 추가
    for i in rsp:
        answer.append(win[i])
   
    # 결과 리스트를 조인을 사용해 문자열로 변환해서 반환
    return ''.join(answer)