python_코드카타(2024.02.23)

김수경·2024년 2월 23일

24. 서울에서 김서방 찾기

문제

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

👩🏻‍💻 my coding

  • 반복문으로 리스트 내의 'Kim'찾기라고 생각했는데, 이 경우에는 index를 사용해준다.
def solution(seoul) :
    if 'Kim' in seoul : 
        x = seoul.index('Kim')
        answer = f'김서방은 {x}에 있다'
    return answer 

25. 나누어 떨어지는 숫자 배열

문제

문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

👩🏻‍💻 my coding

  • arr 리스트 생성
  • 조건문과 반복문 사용
  • 오름차순 정렬
def solution(arr, divisor) : 
    answer = []
    for i in arr : 
        if i % divisor == 0 : 
            answer.append(i)
        elif len(answer) == 0 :
            answer.append(-1)
    return sorted(answer)

테스트케이스는 통과했는데 오답이다.
[3, 2, 6, 10], 10을 넣으니 [-1, 10]이 출력되버린다.

def solution(arr, divisor) : 
    answer = []
    for i in arr : 
        if i % divisor == 0 : 
            answer.append(i)
    if len(answer) == 0 :
            answer.append(-1)
    return sorted(answer)

들여쓰기에 문제가 있었다. 위에 구문처럼 하면 나누어 떨어지는 요소가 없어도 -1을 추가하게 된다. 반복문을 다 돌고, 리스트에 값이 없으면 -1을 넣어주기 위해 하나 더 내어써야 함.

26. 음양 더하기

문제

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

입출력 예

absolutes signs result
[4,7,12][true,false,true] 9
[1,2,3][false,false,true] 0

👩🏻‍💻 my coding

이건 각 리스트에서 어떻게 하나씩 추출하느냐 골머리 앓다가, 찾아보니 zip을 이용하면 된다는걸 알았다.

  • zip : 리스트 내 병렬 추출
  • true이면 더하기, false면 빼주기
def solution(absolutes, signs) : 
    answer = 0
    for i, j in zip(absolutes, signs) : 
        if j == True : 
            answer = answer + i
        else : 
            answer = answer - i 
    return answer 
profile
잘 하고 있는겨?

0개의 댓글