# 3. APS/기타

제코베 Code Festival Python 100제 1권_문제 25~30

둥굴둥굴둥굴레차 2021. 7. 10. 20:03

 

문제25

원의 넓이를 구하세요

 

원의 넓이는 반지름의 길이 x 반지름의 길이 x 3.14로 구할 수 있습니다.

함수를 사용하여 원의 넓이를 구하는 코드를 작성해봅시다.

입력을 반지름의 길이로 정수 n이 주어지면 원의 넓이를 반환하는 함수를 만들어 주세요.

(입력을 해야하기 때문에 input을 반드시 사용해야합니다)

 

[나의 풀이]

def circle_size(r):
    return r**2*3.14

print(circle_size(int(input())))

 

[답안]

def solution(n):
	return n * n * 3.14

print(solution(int(input()))

 

문제26

행성 문제2

 

우리 태양계를 이루는 행성은 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성이 있습니다.

이 행성들의 영어 이름은 Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune입니다.

행성의 한글 이름을 입력하면 영어 이름을 반환하는 프로그램을 만들어 주세요.

 

 

[나의 풀이]

# 정답을 맞추긴 했지만,
# 딕셔너리 형태를 다음과 같이 보기 쉽게 나열하자.

planet = {'수성':'Mercury', 
          '금성':'Venus', 
          '지구':'Earth',
          '화성':'Mars', 
          '목성':'Jupiter', 
          '토성':'Saturn',
          '천왕성':'Uranus', 
          '해왕성':'Neptune'}

print(planet[input()])

 

 

 

문제27 

딕셔너리 만들기

 

첫 줄에는 학생의 이름이 공백으로 구분되어 입력되고,

두번째 줄에는 그 학생의 수학 점수가 공백으로 구분되어 주어집니다.

 

두 개를 합쳐 학생의 이름이 key이고 value가 수학 점수인 딕셔너리를 출력해주세요.

 

>> 입력

Yujin Hyewon
70 100

 

>> 출력

{'Yujin': 70, 'Hyewon': 100}

 

 

[나의 풀이]

name = list(map(str, input().split()))
score = list(map(int, input().split()))

result = dict(zip(name, score))
print(result)

 

 

 

문제28

2-gram

 

2-gram이란 문자열에서 2개의 연속된 요소를 출력하는 방법입니다.

예를 들어 'Python'을 2-gram으로 반복해 본다면 다음과 같은 결과가 나옵니다.

 

>> 출력

Py
yt
th
ho
on

 

입력으로 문자열이 주어지면 2-gram으로 출력하는 프로그램을 작성해 주세요.

 

 

 

[나의 풀이]

word = input()

for i in range(len(word)-1):
    print(word[i:i+2])

 

[답안]

data = input()

for i in range(len(data) - 1):
	print(data[i], data[i+1], sep = '')

 

문제29

대문자만 지나가세요

 

진구는 영어 학원 아르바이트를 하고 있습니다.

반 아이들은 알파벳을 공부하는 학생들인데 오늘은 대문자 쓰기 시험을 봤습니다.

알파벳 하나만을 입력하고 그 알파벳이 대문자이면 YES를 아니면 NO를 출력하는 프로그램을 만들어 주세요.

 

→ 알파벳 여러개를 입력하고 여러개 입력한 것 중 대문자만 출력해주는 프로그램도 만들어보세요.

 

 

[나의 풀이]

# 대문자 : 65 ~ 90
# 소문자 : 97~ 122

letter = input()

if 65 <= ord(letter) <= 90:
    print('YES')
elif 97 <= ord(letter) <= 122:
    print('NO')
    
-----------------------------------------------
    
## 다양한 input을 받고 그 중 대문자만 출력하는 코드
letter_list = list(map(str, input().split()))
new_list = []
for i in letter_list:
    if 65 <= ord(i) <= 90:
        print(i)

 

 

문제30

문자열 속 문자 찾기

 

문자 pineapple에는 apple이라는 문자가 숨어 있습니다.

원범이는 이렇듯 문자열 속에 숨어있는 문자를 찾아보려고 합니다.

 

입력으로 첫 줄에 문자열이 주어지고 둘째 줄에 찾을 문자가 주어지면

그 문자가 시작하는 index를 반환하는 프로그램을 만들어 주세요.

 

>> 입력

pineapple is yummy
apple

 

 

[답안]

data = input()
word = input()

print(data.find(word))