Category/빅데이터&파이썬

프로그래머스 알고리즘(이상한 문자 만들기, 최댓값과 최솟값, JadenCase 문자열 만들기, 최솟값 만들기, 올바른 괄호)

sumin 2023. 4. 9. 17:50
728x90
반응형
  • 1. 이상한 문자 만들기

작성 코드

1
2
3
4
5
6
7
8
9
10
11
def solution(s):
    answer = ''
    new_list = s.split(' ')
    for i in new_list:
        for j in range(len(i)):
            if j % 2 == 0:
                answer += i[j].upper()
            else:
                answer += i[j].lower()
        answer+= ' '
    return answer[:-1]
cs

 

  • 2. 최댓값과 최솟값

작성 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def solution(s):
    
    num_list = list(map(int,s.split(' ')))
    answer1 = num_list[0]
    answer2 = num_list[0]
 
    for i in range(len(num_list)):
      if answer1 < num_list[i]:
            answer1 = num_list[i]
      if answer2 > num_list[i]:
            answer2 = num_list[i]
    answer3 = str(answer2)+ " " + str(answer1)
    
    return answer3
cs

 

  • 3. JadenCase 문자열 만들기

작성 코드

1
2
3
4
5
6
def solution(s):
    answer = ''
    a = list(map(str,s.split(' ')))
    for i in range(len(a)):
        a[i] = a[i].capitalize()
    return " ".join(a)
cs

 

  • 4. 최솟값 만들기

작성 코드

1
2
3
4
5
6
7
def solution(A,B):
    answer = 0
    A.sort(reverse = True)
    B.sort()
    for i in range(len(A)):
        answer += (A[i]*B[i])
    return answer
cs

 

  • 5. 올바른 괄호

작성 코드

1
2
3
4
5
6
7
8
9
10
11
12
def solution(s):
    stack = []
    for i in s:
        if i == '(':  # '('는 stack에 추가
            stack.append(i)
        else:  # i == ')'인 경우
            if stack == []:  # 괄호 짝이 ')'로 시작하면 False 반환
                return False
            else:
                stack.pop()  # '('가 ')'와 짝을 이루면 stack에서 '(' 하나 제거
    
    return stack==[]
cs
728x90
반응형