하루에 5문제씩 매일 풀고 기록하기
새해니까 꾸준히 해보도록 해야지 작심삼일 제발 노노 ~~
문제가 어려운 건 아닌데 헷갈리고 바로 바로 해결방법이 생각나지 않는다 ..
그래도 꾸준히하면 늘겠지? 알고리즘 실력은 진짜 응애인 것 같다. 응애~
Day3 연산
- 문자열 섞기
- 문자 리스트를 문자열로 변환하기
- 문자열 곱하기
- 더 크게 합치기
- 두 수의 연산값 비교하기
문자열 섞기
문제 설명
길이가 같은 두 문자열 str1과 str2가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
def solution(str1, str2):
answer = ''
for i in range(len(str1)):
answer += (str1[i] + str2[i])
return answer
반복문으로 인덱스를 활용해 문자를 하나씩 가져오고 더하기 연산자로 answer 변수에 반복해서 담는다.
이 문제는 다행히?도 내가 푼 방식으로 사람들이 많이 풀었다.
문자 리스트를 문자열로 변환하기
문제 설명
문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
def solution(arr):
answer = ''.join(arr)
return answer
join 함수를 이용해서 너무 쉽게 풀 수 있었던 .. 더 짧게 쓰는 사람들은
def solution(arr):
return ''.join(arr)
이렇게 풀어버린 .. ㄴㅇㄱ
문자열 곱하기
문제 설명
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.
def solution(my_string, k):
answer = ''
for i in range(k):
answer += my_string
return answer
내가 푼 풀이
def solution(my_string, k):
return my_string*k
단순하게 생각하면 편하네요
더 크게 합치기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
def solution(a, b):
answer = ''
ab = str(a)+str(b)
ba = str(b)+str(a)
if (ab > ba or ab==ba):
answer = ab
else:
answer = ba
return int(answer)
저는 이렇게 길게 짰는데요 ...
def solution(a, b):
return int(max(f"{a}{b}", f"{b}{a}"))
포맷팅, max함수 이용해서 한 줄로 ..
두 수의 연산값 비교하기
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.
def solution(a, b):
return max(int(str(a)+str(b)), 2*a*b)
방금 문제를 응용해서 풀어서 쉽게 성공
'코테' 카테고리의 다른 글
프로그래머스 기초문제 Day8 조건문, 문자 (2) | 2024.01.08 |
---|---|
프로그래머스 기초문제 Day7 반복문 (1) | 2024.01.07 |
프로그래머스 기초문제 Day6 조건문, 반복문 (1) | 2024.01.06 |
프로그래머스 기초문제 Day5 조건문 (1) | 2024.01.05 |
프로그래머스 기초문제 Day4 연산, 조건문 (1) | 2024.01.04 |