본 캠프 TIL

1월 10일 TIL (팀프로젝트 준비)

meoca1257 2025. 1. 10. 10:00

팀프로젝트 준비

 

 

 

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

코드카타

16 - x만큼 간격이 있는 n개의 숫자

답안 .

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

모범 답안.

def number_generator(x, n):
    # 함수를 완성하세요
    return [i * x + x for i in range(n)]
print(number_generator(2, 5))

17. 자연수 뒤집어 배열로 만들기

 

답안.

def solution(n):
    answer = list(str(n))
    answer.reverse()
    return list(map(int, answer))

 

모범답안.

def digit_reverse(n):
    return list(map(int, reversed(str(n))))

 

18. 문자열을 정수로 바꾸기

코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 | 프로그래머스 스쿨

답안1. 오답 

def solution(s):
    answer = list(map(int,s))
    if s > 0:
        print(s)
    elif s < 0:
        print(s)
    else:
        None
    return answer

-> answer = list(map(int,s)) 리스트화 시켜버려서 출력이 1234가 아닌 [1,2,3,4]를 만들어버림

 

답안2.  (이렇게 쉬운거였다고? 괜히 어렵게 생각해서 꼬아버림)

def solution(s):
    answer = 0
    s = int(s)
    answer = s
    return answer

 

모범답안. (안좋은듯? 너무 길어)

def strToInt(str): 
    result = 0
    for idx, number in enumerate(str[::-1]):
        if number == '-':
            result *= -1
        else:
            result += int(number) * (10 ** idx)
    return result

 

19. 정수 제곱근 판별

 

답안1. 오답  

해설:n == i**2 만족할 때 answer = (i+1)**2게 나오는데 그렇지 못할 때 계속 answer = -1로 덮어 씌워져서 answer = -1만 나옴 

 

def solution(n):
    for i in range(1,n):
        if n == i**2:
            answer = (i+1)**2
        else:
            answer = -1 
    return answer

 

답안2. 오답 : gpt의 힘을 좀 빌림 // 근데 오답이 하나 나오길래 알아보니까 1 일때 -1로 출력됨 아 맞다 ...

def solution(n):

     for i in range(1, n):

          if n == i**2:

               return (i+1)**2       # 바로 결과를 반환

     return -1                          # 루프를 다 돌고도 조건을 만족하지 않으면 -1 반환

 

답안3. 정답 1 입력했을때도 정확한 답 잘나옴 ㅇㅇ 참고 (4)**(1/2) = 4의 제곱근 = 2

def solution(n):
    for i in range(0, n+1):
        if n == i**2:
            return (i+1)**2      
    return -1   

 

모범답안.  'no' 가 -1 되는게 신선하다

def nextSqure(n):
    sqrt = n ** (1/2)

    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return 'no'

 

'본 캠프 TIL' 카테고리의 다른 글

1월 14일 TIL (팀 프로젝트 발표)  (1) 2025.01.14
1월13일 TIL (팀프로젝트 준비)  (0) 2025.01.13
1월9일 TIL(팀 프로젝트 준비)  (0) 2025.01.09
1월 8일 TIL  (0) 2025.01.08
1월 7일 TIL  (2) 2025.01.07