Computer Science/자료구조

[6.24] Level 1 연습문제 모음 2(27/100~34/100)

토마토. 2021. 6. 24. 10:59

 

코딩테스트 연습 - 핸드폰 번호 가리기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr

1. 핸드폰 번호 가리기

def solution(phone_number):
    answer = '*' * (len(phone_number)-4) + phone_number[-4:]
    return answer

2. 콜라츠 추측

코딩테스트 연습 - 콜라츠 추측 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 콜라츠 추측

1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2

programmers.co.kr

def solution(num):
    answer = 0
    while True:
      if num == 1:
        break
      if answer >= 500:
        answer = -1
        break 

      if num % 2 == 0:
        answer += 1
        num //=2
      else:
        answer += 1
        num = num * 3 + 1
    return answer

3. 평균 구하기

코딩테스트 연습 - 평균 구하기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 평균 구하기

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr

programmers.co.kr

def solution(arr):
    answer = sum(arr) / len(arr)
    return answer

4. 하샤드 수

코딩테스트 연습 - 하샤드 수 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 하샤드 수

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하

programmers.co.kr

def solution(x):
    answer = True
    origin = x
    hasha = 0

    while True:
      if x < 10:
        hasha += x
        break
      else:
        hasha +=( x % 10)
        x = x//10 

    if origin % hasha != 0:
      answer = False
    return answer

5. level 1 20문제 남았다! 짝수와 홀수

코딩테스트 연습 - 짝수와 홀수 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even"

programmers.co.kr

def solution(num):
    if num % 2 == 0:
      answer = 'Even'
    else:
      answer = 'Odd'
    return answer

6. 약수의 합

코딩테스트 연습 - 약수의 합 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수

programmers.co.kr

def solution(n):
  answer = n
  i = n//2
  while i > 0:
    if n % i == 0:
      answer += i
    i -= 1
  return answer

7. 정수 제곱근 판별

코딩테스트 연습 - 정수 제곱근 판별 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함

programmers.co.kr

#정수 제곱근 판별
def solution(n):
    import math
    sqrt = math.sqrt(n)
    if int(sqrt) == sqrt:
      answer = (sqrt+1) ** 2
    else:
      answer = -1
    return answer

8. 서울에서 김서방 찾기

코딩테스트 연습 - 서울에서 김서방 찾기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 서울에서 김서방 찾기

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

programmers.co.kr

def solution(seoul):
    answer = f"김서방은 {seoul.index('Kim')}에 있다"

    return answer

참고 : f-string 문자열에 변수 넣기 (3.6) (tistory.com)