프로그래머스 기초 문제 3 (with Python3)
2023. 4. 5. 17:42ㆍ[알고리즘]/문제 풀이
1. 중복된 숫자 개수
def solution(array, n):
return array.count(n)
2. 문자 반복 출력하기
def solution(my_string, n):
answer = ''
for i in my_string:
answer += i*n
return answer
my_string을 한 문자씩 반복문에 돌리고, n만큼 곱해주면 된다(파이썬 문자열 곱 이용)
3. 점의 위치 구하기
def solution(dot):
if(dot[0] < 0 and dot[1] < 0):
return 3
elif(dot[0]<0 and dot[1]>0):
return 2
elif(dot[0]>0 and dot[1]>0):
return 1
else :
return 4
4. 가운데 글자 가져오기
def solution(s):
if len(s) % 2 == 1:
return s[len(s)//2]
else:
return s[len(s)//2-1]+s[len(s)//2]
5. 같은 숫자는 싫어!
def solution(arr):
answer = []
for i in range(len(arr)):
if i == 0:
answer.append(arr[i])
elif arr[i] != arr[i-1]:
answer.append(arr[i])
return answer
6. 올바른 괄호(스택 이용)
def solution(s):
list = []
for i in s:
if i == '(':
list.append(i)
else :
if list ==[]:
return False
else :
list.pop()
return True
7. 나누어 떨어지는 숫자 배열
def solution(arr, divisor):
answer = []
for i in arr :
if i % divisor==0:
answer.append(i)
else:
continue
if len(answer) == 0:
answer.append(-1)
answer.sort()
return answer
8. 두 정수 사이의 합
def solution(a, b):
list = [a, b]
answer = 0
for i in range(min(list), max(list)+1):
answer += i
return answer
9. 문자열 내 p와 y의 개수
.lower()는 대소문자 -> 소문자로 변경해줌.
.upper()는 대소문자 -> 대문자로 변경해줌.
.count()는 문자의 갯수를 반환해줌.
def solution(s):
if(s.lower().count('p') == s.lower().count('y')):
return True
else :
return False
10. 문자열 내림차순으로 배치하기
def solution(s):
answer = ''
list = []
for x in s:
list.append(x)
list.sort(reverse = True)
for i in range(len(list)):
answer += list[i]
return answer
반응형
'[알고리즘] > 문제 풀이' 카테고리의 다른 글
백준 2051번 : 약수 구하기 (0) | 2023.10.06 |
---|---|
Baekjoon & Programmers 풀이 (0) | 2023.10.01 |
BaekJoon 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.10.01 |
프로그래머스 기초 문제 2 (with Python3) (0) | 2023.04.05 |
프로그래머스 기초 문제 (with Python3) (0) | 2023.04.05 |