1 분 소요

문자열안에 문자열

문제 설명

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ str1의 길이 ≤ 100
  • 1 ≤ str2의 길이 ≤ 100
  • 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.

입출력 예

str1 str2 result
“ab6CDE443fgh22iJKlmn1o” “6CD” 1
“ppprrrogrammers” “pppp” 2
“AbcAbcA” “AAA” 2

문제 풀이

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

int로 참 거짓을 판별해서 참이면 1 거짓이면 0이 나온다는 사실을 활용해서 더 짧게 만들어 봤습니다.

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

이런 식으로도 출력이 가능합니다.


제곱수 판별하기

문제 설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ n ≤ 1,000,000

입출력 예
n result
144 1
976 2

문제 풀이

def solution(n):
    for i in range(1, n):
        if i * i == n:
            return 1
    return 2
        
def solution(n):
    return 1 if (n ** 0.5).is_integer() else 2

[정수 제곱근 판별] **
제곱근을 구하는 공식으로는 **math.sqrt() 또는 number**(0.5)
가 있습니다.
float.is_integer()는 type이 int형이든 float형이든 상관없이 정수 인지 아닌지를 판별합니다.
그래서 n의 2분의 1승은 루트 n이므로 값이 제곱수라면 정수가 반환될 것 이고 아니라면 실수가 반환됩니다. 이를 통해 제곱수인가를 판별할 수 있습니다.


세균 증식

문제 설명

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 10
  • 1 ≤ t ≤ 15

입출력 예

n t result
2 10 2048
7 15 229,376

문제 풀이

def solution(n, t):
    return n* 2**t

문자열 정렬하기(2)

문제 설명

영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < my_string 길이 < 100

입출력 예

my_string result
“Bcad” “abcd”
“heLLo” “ehllo”
“Python” “hnopty”

문제 풀이

def solution(my_string):
    new = ""
    for i in my_string:
        if i.isupper():
            new += i.lower()
        else:
            new += i
    return ''.join(sorted(new))
def solution(my_string):
    return ''.join(sorted(my_string.lower()))

업데이트:

댓글남기기