-
2023.7.19TIL( 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
- 마지막 두 원소
- 3
문제 설명
정수 리스트 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