[Programmers] 두 정수 사이의 합 / 문자열 내 마음대로 정렬하기 / 문자열 내 p와 y의 수 / 문자열 내림차순으로 배치하기 (python)

yourmean·2021년 2월 5일
0

Algorithm - Programmers

목록 보기
5/13
post-thumbnail

🌴 두 정수 사이의 합

문제 링크

해결 전략

a, b : -10,000,000 이상 10,000,000 이하의 정수

  1. 편의상 a<b라고 할 때, 둘을 포함하여 a에서 b까지 정수의 합은 다음과 같다.

    (ba+1)(b+a)2\frac{(b-a+1)*(b+a)}{2}


Source Code

def solution(a, b):
    tmp= (max(a,b)-min(a,b)+1)/2    
    return (a+b)*tmp


🌴 문자열 내 마음대로 정렬하기

문제 링크

Source Code

  
def solution(strings, n):
    return sorted(sorted(strings), key=lambda x:x[n])


🌴 문자열 내 p와 y의 수

문제 링크

해결 전략

s : 대문자와 소문자가 섞여있는 문자열, 길이는 50 이하이며 알파벳으로만 이루어져 있음

  1. p,y의 개수만 세어주면 되기 때문에, 모두 알파벳 소문자로 변경
  2. p,y를 count한 값이 같으면 True, 아니면 False return

Source Code

def solution(s):
    s= s.lower()
    return True if s.count('p') == s.count('y') else False


🌴 문자열 내림차순으로 배치하기

[ 문제 링크 ](def solution(s):
return "".join(sorted(s))[::-1])

해결 전략

str : 길이 1 이상의 문자열, 대문자는 소문자보다 작은 것으로 간주

  1. 문자열 s를 sort한 후 하나의 문자열로 합함
  2. 문자열을 뒤집음 ([::-1]), 이 때 reverse=True도 사용 가능

Source Code

def solution(s):
    return "".join(sorted(s))[::-1]


profile
𝐼 𝑒𝑖𝑡ℎ𝑒𝑟 𝑤𝑖𝑛 𝑜𝑟 𝑙𝑒𝑎𝑟𝑛 💪🏻

0개의 댓글