인사말

안녕하세요!

내일이면 크리스마스네요

그러고 곧 연말이 다가오겠죠? 😣

연말이 주는 화려함은 언제 느껴도 좋은 거 같아요

걸어가는 거리마다 트리와 화려한 불빛 덕분에 행복하답니다 🥰

 

오늘 하루도 파이팅이고, 감기 조심하세요!

 

오늘의 일정
오전(09:00 ~ 13:00) 09:00~10:00 코드카타 3문제, 팀 오전 회의
10:00~13:00 프로그래머스 4문제 풀이
오후(14:00 ~ 18:00) 14:00~17;00 머신러닝 과제 - 이상치 처리하기
17:00~18:00 베이직반 수업
저녁(19:00 ~ 21:00) 18:00~20:00 머신러닝 과제 - 이상치 처리하기

요약

  1. 코드 카타 3문제
    1. 삼각형의 완성 조건(1)
    2. 중앙값 구하기
    3. 짝수는 싫어요
  2. 프로그래머스 4문제
    1. 대문자와 소문자 https://bmk0703.tistory.com/79
    2. 가장 큰 수 찾기 https://bmk0703.tistory.com/80
    3. n의 배수 고르기 https://bmk0703.tistory.com/81
    4. 약수 구하기 https://bmk0703.tistory.com/82
  3. 머신러닝 과제 - 이상치 처리하기
  4. 베이직반 수업

오전(09:00 ~ 13:00)

1. 코드 카타 3문제

1.1. 삼각형의 완성 조건(1)

def solution(sides):
    answer = 0
    
    if max(sides) < sum(sides) - max(sides):
        return 1
    else:
        return 2

🤔 문제 풀이방법

  • “가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.”
    • 문제를 보면 아예 답이 나와있어요. 이걸로 if문 완성해볼까요?
  • if max(sides) < sum(sides) - max(sides):
            return 1
    • 가장 긴 변의 길이를 max로 찾아주었고, 남은 sides의 숫자 중 max값을 빼준 값의 합이 max보다 크면 삼각형이 돼요!
    • 삼각형이 될 경우 1을 return해주고
  • else:
            return 2
    • max의 값이 더 크다면 삼각형이 되지 않으니 2를 return 해주면, 문제 해결!

다른 팀원 풀이 

def solution(sides):
    sides.sort()
    if sides[0] + sides[1] > sides[2] :
        return 1
    else :
        return 2
def solution(sides):
    sides.sort()
    return 1 if sides[-1] < sides[0] + sides[1] else 2

🤔 문제 풀이방법

  • sort() 함수를 사용해서 sides 리스트를 오름차순으로 정렬
  • 최대 값(정렬 했으므로 맨 마지막 수가 최댓값이니까 -1)이 나머지 두 수의 합보다 작으면 1 반환, 아니면 2 반환

 

와,, 진짜 깔끔한 코드이지 않나요?

저도 다른 팀원분들 코드를 볼 때마다 "나도 저렇게 깔끔, 간략하게 짜고 싶다"는 생각이 들어요

짱 재밌습니다 😲

 

1.2. 중앙값 구하기

def solution(array):
    sort_array = sorted(array)
    center_num = len(array) // 2
    
    answer = sort_array[center_num]
    return answer

 

🤔 문제 풀이방법

  • sort_array = sorted(array)
    • 중앙값을 찾아야 하니까 미리 정렬해줄게요
  • center_num = len(array) // 2
    • 중앙값은 array의 길이를 2로 나눈 몫의 위치에 있을 거예요
  • answer = sort_array[center_num]
    • 아까 정렬해준 array에 center_num의 값 번째에 있는 애가 중앙값이죠!
  • return answer
    • return 해주면 문제 해결!

 

다른 팀원 풀이 

def solution(array):
    array.sort()
    return array[len(array)//2]

🤔 문제 풀이방법

  • array를 오름차순으로 정렬한 후 array 길이의 반(/2)인 인덱스를 반환

 

깔끔 그 자체인 코드였습니다 🤭

 

1.3. 짝수는 싫어요

def solution(n):
    numbers = []                                
    for num in range(1,n+1, 2):                  
        numbers.append(num)              
    return numbers

🤔 문제 풀이방법

  • numbers = []
    • 숫자들을 담아줄 리스트를 만들어둘게요
  • for num in range(1,n+1, 2):
    numbers.append(num)
    • range가 1부터 n+1까지의 숫자 범위를 2칸씩 증가해서 num에 담아줄게요
    • 이렇게 하며 홀수만 담기게 될 거예요
    • 그 num을 아까 만들어놓은 numbers=[] 리스트에 넣어주면 문제해결!

 

다른 팀원 풀이 

def solution(n):
    return list(range(1, n+1, 2))

🤔 문제 풀이방법

  • range를 사용하여 1부터 n까지 2의 간격으로 리스트 생성하여 반환

 

개쩌는 거 같아요

벽이 느껴진다고 해야 할까나용 ㅋㅋㅋㅋㅋㅋㅋㅋ

나도 다음엔 저렇게 만들어내야지!! 🔥

 

(10:00~13:00)

2. 프로그래머스 4문제

2.1. 대문자와 소문자

def solution(my_string):
    return my_string.swapcase()

https://bmk0703.tistory.com/79

🤔 문제 풀이방법

  • return my_string.swapcase()
    • .swapcase()이 함수가 대문자는 소문자로 / 소문자는 대문자로 짜주는 함수라고 해요
    • 그래서 바로 return에다가 my_string.swapcase()을 적어서 결괏값을 만들어냈어요!

 

2.2. 가장 큰 수 찾기

https://bmk0703.tistory.com/80

def solution(array):
    return max(array), array.index(max(array))

🤔 문제 풀이

  • return
    • 바로 return 해줄 겁니다
  • max(array),
    • array 속에 있는 가장 큰 수를 뽑아 낼 거예요
  • array.index(max(array))
    • max(array)가 array 속에 몇 번째에 있는지 index를 통해서 찾아내주면 문제 해결!

 

2.3. n의 배수 고르기

https://bmk0703.tistory.com/81

def solution(n, numlist):
    answer = []
    
    for i in numlist:
        if i % n ==0:
            answer.append(i)
            
    return answer

🤔 문제 풀이

  • answer = []
    • 정답들이 들어갈 리스트를 만들어줄게요
  • for i in numlist:
    • numlist에 있는 값들을 순차적으로 순회해서 i에 넣어줄게요
  • if i % n ==0:
    • 만약 i를 n으로 나누었을 때 나머지가 떨어진다면
  • answer.append(i)
    • 먼저 만들어놓은 리스트에 append(i)를 해주면 문제 해결!

 

2.4. 약수 구하기

def solution(n):
    answer = []
    
    for i in range(1,n+1,1):
        if n % i ==0:
            answer.append(i)
            
    return answer

https://bmk0703.tistory.com/82

🤔 문제 풀이방법

  • answer = []
    • 정답들을 담을 리스트를 만들어줄게요
  • for i in range(1,n+1,1):
    • 범위를 지정해줄게요
    • 곱하기를 해야 하니까 1부터 시작해서 n+1까지 한 칸씩 범위를 뽑아낼게요
  • if n % i ==0:
    • 만약 n을 i로 나누었을 때 나머지가 0이라면 약수겠죠?
  •  answer.append(i)
    • 그 값을 만들어주었던 리스트에 append(i)를 해줄게요
    • 그럼 문제 해결!

오후(14:00 ~ 18:00)

3. 머신러닝 과제 - 이상치 처리하기

(17:00 ~ 18:00)

4. 베이직반 수업

+ Recent posts