TIL/Python

TIL (7/15) <replace(), 문자열 기준대로 정렬하기, 최소 직사각형>

jojoon2786 2024. 7. 15. 19:45

 

나의 풀이)

def solution(s):
    jj = { 'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3', 'four' : '4', 'five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9' }
    for k,v in jj.items():
        s = s.replace(k,v)
        return int(s)

딕셔너리에 키 값으로 영문, value로는 숫자를 넣어 replace 함수로 k값이 있으면 v로 바꿔주어 해결하였다.

 

 

나의 풀이)

def solution(strings, n):
    strings.sort()
    strings.sort(key=lambda x:x[n])
return strings

string.sort()를 해준 이유는 인덱스 n의 문자가 같은 경우, 사전 순으로 위치시키기 위함.

sort() 에 key를 사용하여 기준을 주고 정렬시킬 수 있음을 알게 됨.

 

 

나의 풀이)

def solution(sizes):
    answer = 0
    w = []
    h = []
    for i in range(len(sizes)):
        if sizes[i][0]<sizes[i][1]:
            sizes[i] = [sizes[i][1], sizes[i][0]]
        else:
            sizes[i] = [sizes[i][0], sizes[i][1]]
    for j in range(len(sizes)):
        w.append(sizes[j][0])
        h.append(sizes[j][1])
    answer = max(w)*max(h)
return answer

둘 중 더 큰 값이 인덱스 0에 오도록 하여 인덱스 0 값들은 w 리스트에, 1 값들은 h 리스트에 넣어준 후,

max 함수를 이용하여 가장 큰 값을 찾아주었다.

살짝 복잡하게 푼 것 같은 느낌이 있다. 더 쉽게 해결할 수 있는 방법이 있는 지 복습할 때 생각해봐야겠다.