본문 바로가기
위니브 엠버서더/코딩테스트 문제풀이

[위니브엠버서더]제주코딩베이스캠프 Code Festival: Python 100제 (18-22번 문제까지 풀이)

by 솔리닉__ 2024. 8. 28.
반응형

문제 18 : 평균점수

더보기

영하네 반은 국어, 수학, 영어 시험을 보았습니다.

영하는 친구들의 평균 점수를 구해주기로 했습니다.

공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램을 작성하세요.

단, 소숫점 자리는 모두 버립니다.

 

def calculate_average(scores):
    # 점수 리스트를 각각 정수로 변환
    score_list = list(map(int, scores.split()))
    
    # 평균 점수 계산 (소수점 버리기 위해 // 연산자 사용)
    average_score = sum(score_list) // len(score_list)
    
    print(average_score)

# 예시 입력
scores = input("세 과목의 점수를 공백으로 구분하여 입력하세요: ")
calculate_average(scores)

 

코드 설명:

  1. calculate_average 함수는 scores라는 문자열을 입력받습니다.
  2. scores.split()을 사용하여 공백을 기준으로 점수를 분리하고, map(int, ...)을 사용하여 문자열로 되어 있는 점수를 정수형으로 변환한 후 score_list에 저장합니다.
  3. sum(score_list)는 점수의 합을 계산하고, len(score_list)는 점수의 개수를 반환합니다.
  4. // 연산자를 사용하여 소수점 이하를 버린 평균 점수를 계산합니다.
  5. 결과를 print()로 출력합니다.

사용 예:

  • 입력: 20 30 40
  • 출력: 30
  • 입력: 70 80 90
  • 출력: 80

 문제 19 : 제곱을 구하자 

def calculate_power(a, b):
    result = a ** b
    print(result)

# 예시 입력
a, b = map(int, input("두 숫자를 공백으로 구분하여 입력하세요: ").split())
calculate_power(a, b)

 

코드 설명:

  1. calculate_power 함수는 두 개의 매개변수 aabb를 입력받습니다.
  2. a ** b 연산을 통해 aabb승을 계산하고, 그 결과를 result에 저장합니다.
  3. 결과를 print()로 출력합니다.
  4. input() 함수를 사용하여 사용자로부터 두 숫자를 입력받고, split()을 사용하여 공백을 기준으로 분리합니다.
  5. map(int, ...)을 사용하여 각각의 입력 값을 정수형으로 변환합니다.

사용 예:

  • 입력: 2 3
  • 출력: 8
  • 입력: 5 4
  • 출력: 625

 

문제20 : 몫과 나머지

 

def divide_and_remainder(a, b):
    quotient = a // b  # 몫을 구하는 연산자
    remainder = a % b  # 나머지를 구하는 연산자
    print(quotient, remainder)

# 예시 입력
a, b = map(int, input("두 숫자를 공백으로 구분하여 입력하세요: ").split())
divide_and_remainder(a, b)

 

코드 설명:

  1. divide_and_remainder 함수는 두 개의 정수 aabb를 입력받습니다.
  2. a // b를 사용하여 몫을 계산하고, 결과를 quotient에 저장합니다.
  3. a % b를 사용하여 나머지를 계산하고, 결과를 remainder에 저장합니다.
  4. print(quotient, remainder)를 사용하여 몫과 나머지를 공백으로 구분하여 출력합니다.
  5. input() 함수를 사용하여 사용자로부터 두 숫자를 입력받고, split()을 사용하여 공백을 기준으로 분리합니다.
  6. map(int, ...)을 사용하여 각각의 입력 값을 정수형으로 변환합니다.

사용 예:

  • 입력: 10 2
  • 출력: 5 0
  • 입력: 13 4
  • 출력: 3 1

 

문제 21 : set은 어떻게 만드나요? 

 

더보기

다음 중 set을 만드는 방법이 아닌 것?

  1. x = {1, 2, 3, 5, 6, 7}
  2. x = {}
  3. x = set('python')
  4. x = set(range(5))
  5. x = set()

 

2) x = {}

이유:

  • 1) x = {1, 2, 3, 5, 6, 7}: 이 방법은 숫자 요소로 구성된 set을 생성합니다.
  • 2) x = {}: 이 방법은 비어있는 딕셔너리를 생성합니다. 파이썬에서는 빈 중괄호 {}를 사용하면 set이 아니라 딕셔너리가 만들어집니다.
  • 3) x = set('python'): 이 방법은 문자열을 set으로 변환하여, 문자열의 각 문자를 요소로 가지는 set을 생성합니다.
  • 4) x = set(range(5)): 이 방법은 range(5)로 생성된 숫자 시퀀스를 set으로 변환하여 {0, 1, 2, 3, 4}를 생성합니다.
  • 5) x = set(): 이 방법은 빈 set을 생성합니다.

 

문제 22 : 배수인지 확인하기

 

더보기

1) i / 6 == 0

2) i % 6 == 0

3) i & 6 == 0

4) i | 6 == 0

5) i // 6 == 0

 

정답:

2) i % 6 == 0

이유:

  1. i / 6 == 0: 이 표현은 i를 6으로 나눈 결과가 0과 같은지를 비교합니다. 부동소수점 나눗셈을 수행하고 있기 때문에 6의 배수를 확인하는 데 사용되지 않습니다.
  2. i % 6 == 0: 이 표현은 i를 6으로 나눈 나머지가 0인지 확인합니다. 즉, i가 6으로 나누어떨어지면(6의 배수이면) 참이 됩니다.
  3. i & 6 == 0: 이 표현은 비트 단위의 AND 연산을 수행합니다. 6의 배수인지 확인하는 방법이 아닙니다.
  4. i | 6 == 0: 이 표현은 비트 단위의 OR 연산을 수행합니다. 6의 배수인지 확인하는 방법이 아닙니다.
  5. i // 6 == 0: 이 표현은 정수 나눗셈을 수행하고 몫이 0인지를 확인합니다. 6의 배수인지 확인하는 데 사용되지 않습니다.
반응형

댓글