파이썬/코딩테스트
Day3.코딩 기초 트레이닝 프로그래머스 파이썬
해봄544
2024. 1. 7. 23:48
1. 문자열 섞기
def solution(str1,str2):
answer=''
for i in range(len(str1)):
answer += ''.join(str1[i]+str2[i])
return answer
더보기
''.join 은 문자열을 연결하는 함수이다.
더보기
def solution(str1, str2):
answer = ''
len1, len2 = len(str1), len(str2)
max_len = max(len1, len2)
for i in range(max_len):
if i < len1:
answer += str1[i]
if i < len2:
answer += str2[i]
return answer
이 코드 또한 가능하다.
2. 문자 리스트를 문자열로 변환하기
def solution(arr):
answer=''.join(arr)
return answer
3. 문자열 곱하기
def soluton(my_string,k):
return my_string*k
4. 더 크게 합치기
def solution (a,b):
answer =0
ans =int(str(a)+str(b))
ans2=int(str(b)+str(a))
if ans < ans2:
answer = ans2
else:
answer = ans
retuen answer
더보기
처음 한 코딩
def solution(a, b):
answer = 0
if (a,b,sep='')<(b,a,sep=''):
answer = (b,a,sep='')
else:
answer = (a,b,sep='')
return answer
1. sep=' ' 는 문자열 포맷팅에 사용 되는 옵션으로 튜플 비교에는 적절하지 않다.
2. answer에서 반환할 때, 연산 결과를 반환해야 하지만 튜플이 반환되어 틀렸다.
다른 사람들이 한 코딩
def soution(a,b):
answer = 0
return max(int(str(a)+str(b)),int(str(b)+str(a))
5. 두 수의 연산값 비교하기
def solution(a,b):
answer = 0
return max(int(str(a)+str(b)),(2*a*b))
더보기
단, 같을때 경우를 변수로 넣지 않은게 신경쓰여 다시 해봤다.
def solution(a,b):
answer =0
if int(str(a)+str(b))<2*a*b:
answer = 2*a*b
else:
answer = int(str(a)+str(b))
return answer
두 경우 모두 테스트에 통과지만 아마 4번의 다른사람들 풀이를 보지 않았다면 위와같이 했을것 같다.