문자열의 앞의 n글자
def solution(my_string, n):
return my_string[:n]
접미사인지 확인하기
def solution(my_string, is_suffix):
return 1 if is_suffix in {my_string[i:] for i in range(len(my_string))} else 0
문자열의 뒤의 n글자
def solution(my_string, n):
return my_string[len(my_string)-n:]
글자 이어 붙여 문자열 만들기
def solution(my_string, index_list):
return "".join([my_string[i] for i in index_list])
카운트 업
def solution(start_num, end_num):
return list(range(start_num, end_num+1))
수 조작하기 1
def solution(n, control):
answer = n
for i in control:
if i == "w": answer += 1
elif i == "s": answer -= 1
elif i == "d": answer += 10
else: answer -= 10
return answer
마지막 두 원소
def solution(num_list):
return num_list+[num_list[-1]-num_list[-2]] if num_list[-1]>num_list[-2] else num_list+[num_list[-1]*2]
이어 붙인 수
def solution(num_list):
a,b = 0,0
for i in num_list:
if i%2: a = a*10+i
else: b = b*10+i
return a + b
def solution(num_list):
a,b = [],[]
for i in num_list:
if i%2: a.append(str(i))
else: b.append(str(i))
return int("".join(a)) + int("".join(b))
원소들의 곱과 합
- 배열 내 모든 원소의 곱을 계산하기 위해선
- 단순히 반복문을 사용해도 되지만
- 함수형 프로그래밍 스타일을 위해 간단하게 작성하는 방법으로는
- functools에 있는 reduce를 불러오고
- 첫 번째 인자로는 두 수의 곱을 return하는 함수인 operator.mul을 넣고
- 두 번째 인자로는 배열
- 세 번째 인자로는 시작 값을 넣어주기
from functools import reduce
import operator
def solution(num_list):
return 1 if reduce(operator.mul,num_list,1) < sum(num_list)**2 else 0
lag에 따라 다른 값 반환하기
def solution(a, b, flag):
return a+b if flag else a-b
홀짝에 따라 다른 값 반환하기
def solution(n):
return sum(list(range(n+1))[1::2]) if n%2 else sum([i**2 for i in list(range(n+1))[::2]])
공배수
def solution(number, n, m):
return 1 if not number%n and not number%m else 0
n의 배수
def solution(num, n):
return 1 if not num%n else 0
두 수의 연산값 비교하기
def solution(a, b):
x = int(str(a)+str(b))
return x if x>2*a*b else 2*a*b
더 크게 합치기
def solution(a, b):
return int(str(a)+str(b)) if int(str(a)+str(b))>int(str(b)+str(a)) else int(str(b)+str(a))
문자열 곱하기
def solution(my_string, k):
return my_string*k
홀짝 구분하기
a = int(input())
print(a,"is even") if not a%2 else print(a,"is odd")
문자열 붙여서 출력하기
str1, str2 = input().strip().split(' ')
print(str1+str2)
주사위 게임 1
def solution(a, b):
if a%2 and b%2: return a**2+b**2
elif a%2 or b%2: return 2*(a+b)
else: return abs(a-b)
꼬리 문자열
def solution(str_list, ex):
return "".join([i for i in str_list if i.find(ex) == -1])
'알고리즘' 카테고리의 다른 글
[백준, 자바, 2110번] 공유기 설치(이분 탐색) (0) | 2024.08.24 |
---|---|
[백준, 자바, 10989번] 수 정렬하기 3 - 도수 정렬(Counting Sort) (0) | 2024.08.03 |
[백준, 파이썬, 2890번] 카약 (0) | 2024.05.28 |
[백준, 파이썬, 2485번] 가로수 (0) | 2024.05.27 |
[백준, 파이썬, 1543번] 문서 검색 (0) | 2024.05.03 |