ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023.7.19
    TIL( Today I Learned) 2023. 7. 19. 22:29

    7.19

     

    한음님 덕분에 4개 추가해서 오늘  12개 풀어서  현재 62개 풀었다. 내일은 오전에 시간낼 수 있으니까 20문제 도전하겠다. 

    • 접두사인지 확인하기

     

    문제 설명

    어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
    문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

     

     

    def solution(my_string, is_prefix):

        ms=my_string

        

        ip = is_prefix

        if ms[:len(ip)] == ip:

            

            answer 1   <- 오류는”=”을 빼먹었다는 거 

        else:

            answer 0

        return answer

     

    남들거 

     

    def solution(my_string, is_prefix):

        return int(my_string.startswith(is_prefix))

     

    def solution(my_string, is_prefix):

        if my_string[:len(is_prefix)]==is_prefix:return 1

        return 0

     

     

    • 조건에 맞게 수열 변환하기 1

    • 문제 설명

    정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.

     

    def solution(arr):

        answer = []

        for i in arr:

            if i>=50 and i%2 ==0:

                i1 =i/2

                answer.append(i1)

            elif i< 50 and i%2 ==1:

                i2 =i*2

                answer.append(i2)

            else:

                i3 = i

                answer.append(i3)

        return answer

     

     

    def solution(arr):

        return [num/2 if num>=50 and num%2==0 else (num*2 if num<50 and num%2==1 else num) for num in arr]

     

     

    def solution(arr):

        answer = []

     

        for item in arr:

            if item >= 50 and not item % 2:

                answer.append(item // 2)

            elif item < 50 and item % 2:

                answer.append(item * 2)

            else:

                answer.append(item)

     

        return answer

     

    • 마지막 두 원소

    문제 설명

    정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.

    def solution(num_list):

        nls =num_list

        

        answer = []

        if nls[-1]>nls[-2]:

            df =nls[-1]-nls[-2]

            answer.append(df)

        elif:

            df = nls[-1]*2

            answer.append(df)

        return answer

     

    def solution(num_list):

        nls = num_list

        

        answer = []

        if nls[-1] > nls[-2]:

            df = nls[-1] - nls[-2]

            answer.append(df)

        elif nls[-1] <= nls[-2]:

            df = nls[-1] * 2

            answer.append(df)

        return nls + answer

    • 83,055위
    • 점수
      1,100점
    • 해결한 문제
      53개

     

     

     

     

    • 배열의 원소만큼 추가하기

    • 문제 설명

    아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.

     

    def solution(arr):

        answer = []

        for i in arr:

            for p in range(1,101):

                if i==p:

                    for _ in range(p):

                        answer.append(i)

      return answer

     

    @@@@@@@@@@@@@@@@@

    def solution(arr):

        return [i for i in arr for j in range(i)]

     

    @@@@@@@@@@@@@@@@@@

     

    def solution(arr):

        answer = []

        for num in arr:

            answer += [num] * num

        return answer

     

    @@@@@@@@@@@@@@@@@@@@@@

    def solution(arr):

        answer = []

        for x in arr:

            for i in range(x):

                answer.append(x)

        return answer

     

    @@@@@@@@@@@@@@@@@@@@@@@@

    def solution(arr):

        X = []

        for a in arr:

            if a > 0:

                X += [a] * a

        return X

     

    • 82,124위
    • 점수
      1,102점
    • 해결한 문제
      54개
    • 81,661위
    • 점수
      1,103점
    • 해결한 문제
      55개
    • n개 간격의 원소들

     

    문제 설명

    정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

     

    @@@@@@@@@@@@@@@@@@@@@

     

    def solution(num_list, n):

        answer = []

        nls = num_list

        for i in nls[:len(nls):n]:

            answer.append(i)

        

        return answer

     

    @@@@@@@@@@@@@@@@

     

    def solution(num_list, n):

        answer = []

        nls = num_list

        for i in nls[:len(nls):n]:

            answer +=[i]

        

        return answer

     

    @@@@@@@@@@@@@@@@@@@@@@@

     

    def solution(num_list, n):

        return num_list[::n]

     

    @@@@@@@@@@@@@@@@@@@@@@@@

     

    def solution(num_list, n):        

    <—이해 필요  맨 아랫줄 ???

        return [num_list[i] for i in range(0,len(num_list),n)]

     

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

     

    • 81,661위
    • 점수
      1,103점
    • 해결한 문제
      55개

     

     

    • 순위
      79,896위
    • 점수
      1,107점
    • 해결한 문제
      56개

     

     

     

    • 뒤에서 5등 위로

    • 문제 설명

    정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

     

     

     

     

    내답

    def solution(num_list):

        answer = []

        num_list.sort()

        answer =num_list[5:]

     

        return answer

    @@@@@@@@@@@@@@@@@@@@@

    참고 

    내림차순으로 할 때

     

    my_list = [4, 2, 9, 1, 6]

    my_list.sort(reverse=True)

    print(my_list)  # Output: [9, 6, 4, 2, 1]

     

    my_list = [4, 2, 9, 1, 6]

    sorted_list = sorted(my_list, reverse=True)

    print(sorted_list)  # Output: [9, 6, 4, 2, 1]

     

    @@@@@@@@@@@@@@@@@@

     

    def solution(num_list):

        return sorted(num_list)[5:]

     

    def solution(num_list):

        num_list.sort()

        answer = num_list[5:]

        return answer

     

     

     

    • 순위
      79,896위
    • 점수
      1,107점
    • 해결한 문제
      56개

     

     

    • 79,005위
    • 점수
      1,109점
    • 해결한 문제
      57개

     

     

    • 꼬리 문자열

    • 문제 설명

    문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다. 예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고 문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다.

    문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때, str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을 return하도록 solution 함수를 완성해주세요.

     

    def solution(str_list, ex):

        tail_list = []

        for s in str_list:

            if ex not in s:

                tail_list.append(s)

        tail_string = "".join(tail_list)

        return tail_string

     

    def solution(str_list, ex):

        tail_list = []

        for s in str_list:

            if ex not in s:

                tail_list.append(s)

        tail_string = "".join(tail_list)

        return tail_string

     

    문제를 잘못 봤어: 예를 잘보자 입력글자가 리스트 글자안에 있으면 다 제끼는 거 

    여기서 ef 가 없다면  즉 문자 순서도 중요하다 ef =fe 가 다른가? 같은가?

    문제는 그것이 불 분명하다

    문제의 뜻은 순열의 의미인데, 순서가 의미있다는 의미인데

    답은 다르다, 그냥조합의 의미이다

    아니 더 정확히 말하면 있는거 제외 / 그럼 애초에 문자열이라고 하면 안된다

    그냥 문자라고 해야한다

     

     

    • 79,005위
    • 점수
      1,109점
    • 해결한 문제
      57개

     

    • 순위
      78,579위
    • 점수
      1,110점
    • 해결한 문제
      58개

     

     

     

     

    • 이어 붙인 수

    • 문제 설명

    정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.

     

     

     

     

    # 정말 중요 ??

    문제:

    Python의 int() 함수는 숫자 문자열을 정수로 변환하는 데 사용됩니다. 

    그러나 이 경우에는 문자열 목록(k)을 정수로 직접 변환하려고 하므로 TypeError가 발생합니다.

     int() 함수는 목록이 아닌 단일 문자열 인수를 예상합니다.

    해결책:

    목록 k의 각 요소를 정수로 변환하려면 요소를 반복하고 변환을 개별적으로 적용해야 합니다. 

    이를 달성하기 위해 업데이트된 코드는 다음과 같다.

     

     

    k = ['1', '4', '8']

    ab = [int(x) for x in k]

    print(ab)

     

    이 업데이트된 코드에서 목록 내포는 k의 각 요소 x를 반복하고 int(x)를 사용하여 정수로 변환하는 데 사용됩니다. 

    결과 정수 목록은 ab 변수에 저장됩니다.

     ab를 인쇄하면 원본 목록의 문자열에서 변환된 정수를 나타내는 [1, 4, 8] 출력이 표시됩니다.

    @@@@@@@@@@@@@@

    def solution(num_list):

        odd_str = ''

        even_str = ''

     

        for num in num_list:

            if num % 2 == 1:  # 홀수인 경우

                odd_str += str(num)

            else:  # 짝수인 경우

                even_str += str(num)

     

        odd_sum = int(odd_str)

        even_sum = int(even_str)

     

        return odd_sum + even_sum

     

     

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

     

     

    def solution(num_list):

        odd_list = []

        even_list = []

        

        for num in num_list:

            if num % 2 == 1:  # if odd

                odd_list.append(str(num))

            else:  # if even

                even_list.append(str(num))

        

        odd_sum = int(''.join(odd_list))

        even_sum = int(''.join(even_list))

        

        return odd_sum + even_sum

     

    @@@@@@@@@@@@@@@@@@@@@

    @

    def solution(num_list):

        odd_list = []

        even_list = []

        

        for num in num_list:

            if num % 2 == 1:  # if odd

                odd_list.append(str(num))

            else:  # if even

                even_list.append(str(num))

        

        odd_sum = int(''.join(odd_list))

        even_sum = int(''.join(even_list))

        

        return odd_sum + even_sum

     

    @@@@@@@@@@@@@@@@@@

     

     

    def solution(num_list):

        answer = 0

        a=""#홀수

        b=""#짝수

        for i in num_list:

            if i%2!=0:

                a+=str(i)

            else:

                b+=str(i)

        return int(a)+int(b)

     

     

     

    • 순위
      78,579위
    • 점수
      1,110점
    • 해결한 문제
      58개

     

     

     

     

     

    'TIL( Today I Learned)' 카테고리의 다른 글

    2023.7.21.금요일  (0) 2023.07.21
    2023.7.20.목요일  (0) 2023.07.20
    2023.7.18  (1) 2023.07.18
    2023.7.17.월요일 . 프로그래머스 문제  (0) 2023.07.17
    2023.7.16.일요일 파이썬 300제 done, 불필요한것은 skip.  (0) 2023.07.16
Designed by Tistory.