s
: 길이가 1 이상 5이하인 문자열, 맨앞에는 부호(+, -)가 올 수 있으며, 부호와 숫자로만 이루어져 있고, 0으로 시작하지 않습니다.
def solution(s):
return int(s)
이런 문제가 왜 있는거지 ..?ㅎ
s
: 길이가 8000이하인 string, 알파벳 대/소문자&공백으로 구성
n
: 1이상 25이하의 자연수
문자열 s를 n만큼 민 암호문을 만드는 함수를 구현하되, 공백은 그대로 유지해야 한다.
1.공백 반영을 위해 s를 list로 변환
2. 대/소문자,공백을 따로 처리하기 위해
2-1. 알파벳 대문자를 담고 있는 문자열 big 생성
2-2. 알파벳 소문자를 담고 있는 문자열 small 생성
3. for문을 돌면서 다음 조건에 맞춰 시저 암호문 만들기
3-1. 알파벳 대문자: big에서 해당 알파벳을 찾은 후 n만큼 밀기. 이 때, %26을 통해 문자열을 벗어나지 않도록 처리
3-2. 공백: 유지 (pass)
4. 원소들을 join하여 return
def solution(s, n):
s=list(s)
big='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
small='abcdefghijklmnopqrstuvwxyz'
for i in range(len(s)):
if s[i] in big:
s[i]= big[(big.index(s[i])+n)%26]
elif s[i] in small:
s[i]= small[(small.index(s[i])+n)%26]
else:
pass
return ''.join(s)
생각보다 시간 많이 썼던 문제 ㅠㅠ
처음에 islower, isupper로 구현하려 했으나 어떤 이유에선지 잘 되지 않아서 big, small로 바꿨다
다음에 다시 도전해봐야지 🙋🏻♀️
a
, b
: 두 일차원 정수 배열
def solution(a, b):
answer=sum(x*y for x,y, in zip(a,b))
return answer
n
: 0이상 3000이하의 정수
def solution(n):
answer= 0
for i in range(1,n+1):
answer+=i if int(n)%i==0 else 0
return answer
넘 간단해서 뭘 설명해야할지 모르겠다 ,,,,