1. 대문자와 소문자
#문제 설명
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
#제한사항
1 ≤ my_string의 길이 ≤ 1,000
my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
#입출력 예
my_string result
"cccCCC" "CCCccc"
"abCdEfghIJ" "ABcDeFGHij"
def solution(my_string):
answer = ''
for i in my_string:
if i.isupper():
answer += i.lower()
else:
answer += i.upper()
return answer
=> answer은 문자열 변수이기 때문에 append 대신 += 를 사용해서 각 요소를 추가해줌
2. 인덱스 바꾸기
#문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
#제한사항
1 < my_string의 길이 < 100
0 ≤ num1, num2 < my_string의 길이
my_string은 소문자로 이루어져 있습니다.
num1 ≠ num2
#입출력 예
my_string num1 num2 result
"hello" 1 2 "hlelo"
"I love you" 3 6 "I l veoyou"
def solution(my_string, num1, num2): # 문자열, 정수, 정수 = input값
answer = list(my_string) # 문자열 리스트로 변환한 값 answer에 할당
answer[num1], answer[num2] = answer[num2], answer[num1] #리스트 인덱스 값 교환
result = ''.join(answer) #리스트를 다시 문자열로 변환
return result
인덱스를 서로 교환할 때는 파이썬에서는
a,b = b,a 라는 식을 작성하면 (b,a)라는 튜플이 생성되고 이 값을 각각 a, b에 대입하게 된다.
인덱스 교환 또한 튜플과 대입연산자를 이용하면 간단하게 temp변수를 쓰지 않아도 가능\
3. 배열의 유사도
#문제 설명
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
#제한사항
1 ≤ s1, s2의 길이 ≤ 100
1 ≤ s1, s2의 원소의 길이 ≤ 10
s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
s1과 s2는 각각 중복된 원소를 갖지 않습니다.
#입출력 예
s1 s2 result
["a", "b", "c"] ["com", "b", "d", "p", "c"] 2
["n", "omg"] ["m", "dot"] 0
def solution(s1, s2): #문자열 배열
answer = 0
for i in s1:
if i in s2:
answer += 1
return answer
이 문제는 간단하게 s1 배열을 순회하면서 요소가 s2배열에 들어있다면 answer에 1씩 증가시키고 반환
'코딩테스트' 카테고리의 다른 글
프로그래머스 5레벨 - 방의 개수 <그래프> (0) | 2023.04.19 |
---|---|
프로그래머스 - 숫자 찾기/문자열 정렬하기(2)/머쓱이보다 키 큰 사람 (0) | 2023.04.03 |
프로그래머스 - 중복된 문자 제거 (0) | 2023.04.03 |
프로그래머스 - 문자열 정렬하기 (1) (0) | 2023.04.03 |
프로그래머스 - 최댓값 만들기 (1) (0) | 2023.04.01 |