Python
Python Lv.0 코딩 기초 트레이닝 - 문자열 섞기, 문자 리스트를 문자열로 변환하기, 문자열 곱하기, 더 크게 합치기, 두 수의 연산값 비교하기, n의 배수, 공배수, 홀짝에 따라 다른 값 반환하기, 조건 문자열, flag에 따라 다른 값 반환하기
Se On
2024. 5. 22. 10:25
코딩 기초 트레이닝
1. 문자열 섞기
- 길이가 같은 두 문자열 str1, str2를 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열 만들기
- str1과 str2를 저장할 변수 선언: answer = ' '
- for문
- 반복
- 길이가 같은 문자열이기에 반복은 len(str1)만큼만 해도 됨
- for i in range(len(str1))
- answer
- for문 돌리면서 answer 변수에 str1[0]+str2[0]+...str1[n]+str2[n] 추가
- answer = answer + str1[i] + str2[i]
- 반복
def solution(str1, str2):
answer = ''
for i in range(len(str1)):
answer = answer + str1[i] + str2[i]
return answer;
2. 문자 리스트를 문자열로 변환하기
- 배열 arr의 원소들을 순서대로 이어붙인 문자열 return
- for문
- 반복
- arr의 길이만큼만 하면 됨
- for i in range(len(arr)
- answer
- for문 돌리면서 answer 변수에 arr[0] + ... + arr[n] 추가
- answer = answer + arr[i]
- 반복
def solution(arr):
answer = ''
for i in range(len(arr)):
answer = answer + arr[i]
return answer;
3. 문자열 곱하기
- my_string을 k번 반복
- answer = my_string*k
def solution(my_string, k):
answer = my_string*k
return answer
4. 더 크게 합치기
- a or b ⊕ b or a
- a, b 정수를 문자로 변환해서 합쳤다가 다시 정수로 변환해 주어야 함
- ab = int(str(a) + str(b))
- ba = int(str(b) + str(a))
- 양의 정수 a ⊕ b >= b ⊕ a 면 a ⊕ b
- if ab >= ba: answer = ab
- 양의 정수 b ⊕ a >면 b ⊕ a
- else: answer = ba
def solution(a, b):
answer = 0
ab = int(str(a)+str(b))
ba = int(str(b)+str(a))
if ab >= ba:
answer = ab
else:
answer = ba
return answer;
5. 두 수의 연산값 비교하기
- a ⊕ b
- a, b 정수를 문자로 변환해서 합쳤다가 다시 정수로 변환해 주어야 함
- ab = int(str(a) + str(b))
- 2 * a * b
- ab2 = 2 * a * b
- a ⊕ b가 2 * a * b보다 크거나 같다면
- if ab >= ab2: answer = ab
- 2 * a * b가 크다면
- else: answer = ab2
def solution(a, b):
answer = 0
ab = int(str(a) + str(b))
ab2 = 2*a*b
if ab >= ab2:
answer = ab
else:
answer = ab2
return answer
6. n의 배수
- num이 n의 배수라면 1 return
- if num % n == 0: answer = 1
- 아니라면 0 return
- else: answer = 0
def solution(num, n):
answer = 0
if num % n == 0:
answer = 1
else:
answer = 0
return answer;
7. 공배수
- number가 n와 m의 공배수: number를 n과 m으로 나누었을 때 나머지가 0
- if number % n == 0 and number % m == 0: answer = 1
- 아니라면
- esle: answer = 0
def solution(number, n, m):
answer = 0
if number % n == 0 and number % m == 0:
answer = 1
else:
answer = 0
return answer;
8. 홀짝에 따라 다른 값 반환하기
- n이 짝수라면 n이하의 짝수인 모든 양의 정수 제곱의 합
- n이 짝수라면 = n을 2로 나눈 나머지가 0이라면
- if n % 2 == 0:
- n이하의 짝수인 모든 양의 정수 제곱의 합
- n 이하의 짝수인 모든 양의 정수
- for i in range (0, n+1, 2)
- 제곱의 합(**: 제곱 산술연산자)
- answer = answer + i**2
- n 이하의 짝수인 모든 양의 정수
- n이 짝수라면 = n을 2로 나눈 나머지가 0이라면
- n이 홀수라면 n이하의 홀수인 모든 양의 정수의 합
- n이 홀수라면 = 짝수가 아니라면
- else:
- n 이하의 홀수인 모든 양의 정수
- for i in range (1, n+1, 2):
- 정수의 합
- answer = answer + i
- n이 홀수라면 = 짝수가 아니라면
def solution(n):
answer = 0
if n % 2 == 0:
for i in range(0, n+1, 2):
answer = answer + i**2
else:
for i in range(1, n+1, 2):
answer = answer + i
return answer
9. 조건 문자열
- ineq: "<"와 ">" 둘 중 하나 & eq: "="와 "!" 둘 중 하나
- 조건을 함수로 매핑한 딕셔너리 정의
- conditions = {(">", "="): lambda n, m: n>=m, ("<", "="): lambda n, m: n<=m, (">", "!"): lambda n, m: n>m, ("<", "!"): lambda n, m: n<m)}
- 조건을 함수로 매핑한 딕셔너리 정의
- 참이면 1, 거짓이면 0 return
- 조건에 맞는 함수 호출(ineq, eq 키에 해당하는 람다 함수 찾아서 호출, 이는 True와 False 호출)
- conditions[(ineq, eq)](n, m)
- True, False 값을 정수로 변경
- int(conditions[(ineq, eq)](n, m))
- 조건에 맞는 함수 호출(ineq, eq 키에 해당하는 람다 함수 찾아서 호출, 이는 True와 False 호출)
def solution(ineq, eq, n, m):
answer = 0
conditions = {
(">", "="): lambda n, m: n>=m,
("<", "="): lambda n, m: n<=m,
(">", "!"): lambda n, m: n>m,
("<", "!"): lambda n, m: n<m
}
answer = int(conditions[(ineq, eq)](n,m))
return answer;
10. flag에 따라 다른 값 변환하기
- flag가 Ture면 a+b 값을 출력
- if flag == Ture: answer = a+b
- Flase면 a-b 값을 출력
- else: answer = a-b
def solution(a, b, flag):
answer = 0
if flag == True:
answer = a+b
else:
answer = a-b
return answer;
참고 사이트: https://programmers.co.kr/
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형