코딩테스트

코딩테스트 입문_dict.fromkeys() swapcase() title() 교집합

끈끈 2023. 4. 4. 11:39

 

중복된 문자 제거
(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

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

대문자와 소문자
(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

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

인덱스 바꾸기
(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) 기능

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

배열의 유사도
(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)의 교집합(&)

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr