코딩테스트 연습 4일차

김채원·2023년 1월 31일
0

coding_test

목록 보기
4/11

KT AIVLE에 뽑혀서...
교육을 들을 수 있게되었다!!
커리큘럼 중간에 코딩테스트도 있길래...
거기서 먼저 엄청 잘 하고싶다!!
근데 특성상 보니 이미 백준 골드는 찍으신 사람들이 많은듯~
더 열심히 해서 나도 좋은 성적을 얻을 수 있기를!!!

Lv.1

제일 작은 수 제거하기

길게 적지 말고 그냥 바로 min>remove

def solution(arr):
    arr.remove(min(arr))
    
    if len(arr)==0:
        arr.append(-1)

    return arr

음양 더하기

def solution(absolutes, signs):
    answer = 0
    
    for abs_num, bool_s in zip(absolutes,signs):
        if bool_s == True:
            answer += abs_num
        else:
            answer -= abs_num
        
    return answer

없는 숫자 더하기

set으로 차집합

def solution(numbers):
    lst = list(range(1,10))
    answer = list(set(lst) - set(numbers))
    answer = sum(answer)
    
    return answer

가운데 글자 가져오기

def solution(s):
    answer = ''
    if len(s)%2 == 1: #홀수
        answer = s[(len(s)//2)]
        
    else: #짝수
        answer += s[(len(s)//2)-1]
        answer = answer + s[(len(s)//2)]
    
    return answer

수박수박수박수박수박수?

def solution(n):
    answer = ''
    
    if n%2==0:
        answer = "수박"*(n//2)
    else:
        for i in range(1,n+1):
            if i % 2 == 1:
                answer += "수"
            else:
                answer += "박"
        
    return answer

1차원적으로 풀었는데 풀고보니 별로같음...
좀 더 고민

def solution(n):
    answer = ''
    
    for i in range(n):
        if i % 2 == 0:
            answer += '수'
        else:
            answer += '박'
    
    return answer

어차피 for문 쓸거 이쪽이 간단하긴한데..그래도 너무 단순함

def solution(n):
    return ('수박'*n) [:n]

그냥 문자열 슬라이싱이 가장 효율적인듯...!!!

내적

def solution(a, b):
    answer = 0
    
    for i,j in zip(a,b):
        answer += i*j
    
    return answer

어제보다 짧은 시간에 다 풀었다...집중력 차이인듯...

profile
잡다한 공부 기록용

0개의 댓글