프로그래머스 기초 문제 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
반응형