Python 페어 프로그래밍 연습문제 3

조재형·2023년 5월 11일
0

스터디

목록 보기
7/19
# 문제 1 문자열 뒤집기
# 문자열 my_string 이 매개변수로 주어진다.
# my_string을 거꾸로 뒤집은 문자열을 return하도록 solution함수를 완성하라
# 단 1<= my_string의 길이 <= 1000
'''
def solution(my_string):
    return my_string[::-1]


my_string = "hello world"
result = my_string[::-1]
print(result)'''






# 문제 2 특정 문자 제거하기
# 문자열 my_string 과 문자 letter 이 매개변수로 주어진다.
# my string 에서 letter 를 제거한 문자열을 return 하도록
# solution 함수를 완성하라
# 단, 1<= my_string 의 길이 <= 100
# letter은 길이가 1인 영문자
# my_string과 letter은 알파벳 대소문자로 이루어져 있다
# 대문자와 소문자를 구분한다

'''
def solution(my_string, letter):
    return my_string.replace('letter', '')
my_string = "letter"
my_string = my_string.replace('letter', 'LETTER')
print(my_string)
'''

# replace('바꿀문자열', '새문자열')
# 문자열 안의 문자열을 다른 문자열로 바꾼다.
# 주의할 점은 * 문자열 자체는 변경하지 않으며 바뀐 결과를 반환한다.
# 때문에 my_string의 바뀐 결과를 유지하려면 
# my_string = my_string.replace('바꿀 문자열', '새 문자열')
# 을 입력해 주어야한다.





# 문제3 문자 반복 출력하기
# 문자열 my_string 과 정수 n이 매개변수로 주어질 때 ,
# my_string 에 들어있는 각 문자를 n만큼 반복한 문자열을
# return 하도록 solution 함수를 완성하라
# 단 2<= my_string 길이 <=5
# 2<= n <= 10
# "my_string"은 영어 대소문자로 이루어져 있다
'''
def solution(my_string, n):
    answer = ''             # answer 초기화
    for i in my_string:     # my_string 의 각 문자를 i에 하나씩 대입하여 반복문 실행
        answer += i * n     # i를 n번 반복해서 answer에 추가한다
    return answer           # 마지막으로 answer 을 반환함

my_string='love'
print(solution(my_string, 2))       # print 결과는 lloovvee
'''




# 문제4 편지
# 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때,
# 축하 문구 message 를 적기 위해 필요한 편지지의
# 최소 가로길이를 return 하도록 solution 함수를 완성하라
# 단, 공백도 하나의 문자로 취급한다
# 1 <= message의 길이 <= 50
# 편지지의 여백은 생각하지 않는다
# message 는 영문 알파벳 대소문자, '!', '~' 또는 공백으로만 이루어져 있다

'''
def solution(message):
    return len(message)*2

message = ('love python')
print(solution(message))    # print 결과는 22 !
'''


# 문제5 모음 제거
# 영어에선 a e i o u 다섯 가지 알파벳을 모음으로 분류한다
# 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을
# return 하도록 solution 함수를 완성하라
# 단, my_string 은 소문자와 공백으로 이루어져 있다
# 1<= my_string의 길이 <=1000

'''
def solution(my_string):
    eng = ['a', 'e', 'i', 'o', 'u']
    answer = ''
    for char in my_string:          # char을 반복문으로 돌면서
        if char not in eng:         # char.eng에 'a' 'e' 'i' 'o' 'u'가
            answer += char          # 있는지 검사하고, 아니라면 저장하여
    return answer                   # 이를 반환한다

my_string = ('apple i love you')
print(solution(my_string))          # 결과는 ppl  lv y  성공!
'''


# 문제6 문자열안에 문자열
# 문자열 str1, str2 가 매개변수로 주어진다
# str1 안에 str2 가 있다면 1을 없다면 2를 return 하도록 solution 함수를 완성하라
# 단, 1<= str1 의 길이 <= 100
# 1<= str2 의 길이 <= 100
# 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있다

def solution(str1, str2):
    if str2 in str1 :
        return 1
    else:
        return 2

str1 = ('apple bear cream')
str2 = ('bear')
print(solution(str1, str2)) 

# * 문제 5에서 썼던 char을 썼더니 한 글자만 포함되어있어도 있다고 나오니,
# str1 을 통째로 비교해야 한다!

오늘 배운 것

  1. arr = range(10)
    arr
    [0,1,2,3,4,5,6,7,8,9]
    arr[::2] # 처음부터 끝까지 두 칸 간격으로
    [0,2,4,6,8]
    arr[1::2] # index 1 부터 끝까지 두 칸 간격으로
    [1,3,5,7,9]
    arr[::-1] # 처음부터 끝까지 -1칸 간격으로 ( == 역순으로)
    [9,8,7,6,5,4,3,2,1,0]
    arr[::-2] # 처음부터 끝까지 -2칸 간격으로 ( == 역순, 두 칸 간격으로)
    [9,7,5,3,1]
    arr[3::-1] # index 3 부터 끝까지 -1칸 간격으로 ( == 역순으로)
    [3,2,1,0]
    arr[1:6:2] # index 1 부터 index 6 까지 두 칸 간격으로
    [1,3,5]

  2. replace('바꿀문자열', '새문자열')
    문자열 안의 문자열을 다른 문자열로 바꿀 수 있다.
    단 문자열 자체는 변경하지 않으며 바뀐 결과를 반환한다
    때문에 바뀔 결과를 유지하려면
    my_string = my_string.replace('바꿀 문자열', '새 문자열')
    을 입력해 주어야 함

  3. if char not in eng => not in은 여기에 없다면~

profile
안녕하세요.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN