티스토리 뷰

프로그래머스

[파이썬] Day 3 연산

하몬드 2024. 4. 22. 10:19

푼 문제들

 

 

 

 

문자열 섞기

 

문제

 

정답

def solution(str1, str2):
    answer = []
    for i in range(len(str1)):
        answer.append(str1[i])
        answer.append(str2[i])
    result = "".join(answer)
    return result

 

배열과 반복문을 이용해서 풀 수 있는 문제이다.

 

str1과 str2의 길이는 같으므로 for문에 들어가는 range()의 인자값으로

len(str1)이 들어가든 len(str2)가 들어가든 상관없다.

 

배열.append(데이터값)는 데이터값을 배열에 추가하는 함수이다.

  빈 배열(answer)을 하나 생성해 두 문자열의 요소를 번갈아서 추가해준다.

 

 

a = ["a", "b", "c"]
print(a)  # ['a', 'b', 'c']

# join 함수 사용
result = "".join(a)
print(result)  # abc

# 리스트 요소 하나씩 더하기
result2 = ""
for s in a:
    result2 += s
print(result2)  # abc

 

join함수는 리스트를 문자열로 만들어준다.

for문으로도 같은 동작을 할 수 있으나 편하게 내장함수를 쓰도록 하자.

 

 

 

문자 리스트를 문자열로 변환하기

 

문제

 

정답

def solution(arr):
    return "".join(arr)

 

문제 배치 순서가 좀 잘못되지 않았나 싶다..

 

 

a = ["a", "b", "c"]

result = " ".join(a)
print(result)  # "a b c"

 

""(큰따옴표) 사이에 넣은 문자는 배열 요소 사이사이에 출력된다.

위 코드는 배열 사이에 공백을 추가해서 출력한 예제이다.

 

 

 

문자열 곱하기

 

문제

 

정답

def solution(s, k):
    return s*k

 

ㅈㄱㄴ < 제목이 곧 내용이란 뜻

 

 

 

더 크게 합치기

 

문제

 

정답

def solution(a, b):
    n1 = int(str(b) + str(a))
    n2 = int(str(a) + str(b))
    return n1 if n1 > n2 else n2

 

합친 문자열을 int형으로 변환하고 

두값 중 더 큰값을 반환하면 된다.

 

 

return n1 if n1 > n2 else n2

 

n1이 n2 보다 크다면 n1을 반환하고 아니라면 n2를 반환한다는 뜻이다.

 

 

 

두 수의 연산값 비교하기

 

문제

 

정답

def solution(a, b):
    return max(int(str(a) + str(b)), 2 * a * b)

 

max() 함수는 매개변수들의 값 중 중 가장 큰 값을 반환한다.

'프로그래머스' 카테고리의 다른 글

[파이썬] Day 5 조건문  (1) 2024.05.02
[파이썬] Day 4 연산, 조건문  (0) 2024.04.22
[파이썬] Day 2 출력, 연산  (0) 2024.04.21
[파이썬] Day 1 출력  (0) 2024.04.21
코딩테스트 공부 계획  (0) 2024.04.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함