[TIL] 23.01.22

문종현·2023년 1월 22일
0

TIL

목록 보기
69/119
post-custom-banner

👉 오늘 한 일

  • 프로그래머스 문제풀이(level 0)

프로그래머스 문제풀이

1. 암호 해독

def solution(cipher, code):
    return cipher[code-1::code]

2. 대문자와 소문자

def solution(my_string):
    result = ""
    for s in my_string:
        if s.islower():
            result += s.upper()
        elif s.isupper():
            result += s.lower()
            
    return result
  • 다른 사람 풀이
    • 문자열의 대소문자를 바꿔주는 str.swapcase 라는 function이 있다!
def solution(my_string):
    return my_string.swapcase()

3. 직각삼각형 출력하기

n = int(input())
for i in range(1,n+1):
    print("*" * i)

4. 주사위의 개수

def solution(box, n):
    return int(box[0] / n) * int(box[1] / n) * int(box[2] / n)

5. 문자열 정렬하기 (1)

def solution(my_string):
    result = []
    for s in my_string:
        if s.isnumeric():
            result.append(int(s))
    result = sorted(result)
    return result

6. 가장 큰 수 찾기

def solution(array):
    return [max(array), array.index(max(array))]

7. 배열 회전시키기

def solution(numbers, direction):
    if direction == "right":
        numbers.insert(0, numbers[-1])
        numbers.pop()
    else:
        numbers.append(numbers[0])
        numbers.pop(0)
    return numbers
  • 다른 사람 풀이
    • deque는 큐, 스택에서 자주 사용하니 잘 알아둘 것!
# 슬라이싱
def solution(numbers, direction):
    return [numbers[-1]] + numbers[:-1] if direction == 'right' else numbers[1:] + [numbers[0]]
    
# deque 사용
from collections import deque

def solution(numbers, direction):
    numbers = deque(numbers)
    if direction == 'right':
        numbers.rotate(1)
    else:
        numbers.rotate(-1)
    return list(numbers)

8. 외계행성의 나이

def solution(age):
    a = {i : a for i,a in enumerate("abcdefghij")}
    result = ""
    
    for s in str(age):
        result += a[int(s)]
        
    return result
  • 다른 사람 풀이
def solution(age):

    return ''.join([chr(int(i)+97) for i in str(age)])
profile
자라나라 새싹새싹🌱
post-custom-banner

0개의 댓글