중복된 문자 제거
(Lv.0 85%)
나의 풀이:
def solution(my_string):
answer = ''
for i in my_string:
if i not in answer:
answer += i
return answer
다른 사람의 풀이:
def solution(my_string):
return ''.join(dict.fromkeys(my_string))
dict.fromkeys(문자열 혹은 리스트)
문자열 혹은 리스트의 원소를 중복 제거 후
남은 원소들을 value가 없는 key로 저장
a = "people"
b = dict.fromkeys(a) # {'p': None, 'e': None, 'o': None, 'l': None}
print(''.join(b)) # peol
대문자와 소문자
(Lv.0 88%)
나의 풀이:
def solution(my_string):
return my_string.swapcase()
파이썬의 swapcase() 메서드는 대소문자를 상호 변환해준다
나의 처음 풀이:
def solution(my_string):
answer = ''
for i in my_string:
if i.isupper():
answer += i.lower()
else:
answer += i.upper()
return answer
- lower() : 문자열의 알파벳을 모두 소문자로 바꿔주는 함수
- upper() : 문자열의 알파벳을 모두 대문자로 바꿔주는 함수
- isupper() : 대문자면 True
- islower() : 소문자면 True
title()
각 단어의 제일 앞 글자만 대문자로 변환해주는 함수
a = "hello world"
print(a) # hello world : a 자체는 변하지 않음
print(a.title()) # Hello World
인덱스 바꾸기
(Lv.0 87%)
나의 풀이:
def solution(my_string, num1, num2):
my_str = list(my_string)
i = my_str[num1]
j = my_str[num2]
my_str[num1] = j
my_str[num2] = i
answer = ''
for ans in my_str:
answer += ans
return answer
다른 사람의 풀이:
def solution(my_string, num1, num2):
s = list(my_string)
s[num1], s[num2] = s[num2], s[num1]
return ''.join(s)
파이썬의 스와프(swap) 기능
배열의 유사도
(Lv.0 89%)
나의 풀이:
def solution(s1, s2):
answer = 0
for i in s1:
if i in s2:
answer += 1
return answer
다른 사람의 풀이:
def solution(s1, s2):
return len(set(s1) & set(s2))
집합(set)의 교집합(&)
'코딩테스트' 카테고리의 다른 글
코딩테스트 입문_find() ord() index() abs() (0) | 2023.04.09 |
---|---|
코딩테스트 입문_점의 위치 구하기 (0) | 2023.04.07 |
코딩테스트 입문_최댓값 만들기(1) (2) | 2023.03.31 |
코딩테스트 입문_최빈값 구하기_sorted() (0) | 2023.03.30 |
코딩테스트 입문_분수의 덧셈_fractions 모듈 (2) | 2023.03.24 |