본문 바로가기

Groom2

[구름톤 챌린지] Day4 이진수 정렬 람다함수가 생각이 안나서 애먹은 문제였다.. sorted 에서는 정렬된 iterator 자체를 반환해주는 걸로 알고있어서 내부적으로 람다함수를 사용할 수 있다고 알고있다. 문제 그대로 따라가면 1. 2진수 '1' 개수를 기준으로 내림차수해준다음에 2. 개수가 같을 때 10진수 내림차순으로 정렬해주면 된다. (SQL order by 부분이랑 상당히 생김새가 많이 닮았다고 생각했다.) 그리고, 더 고통받았던건 lambda 보다 더 자주 쓰지않은 bin 함수였었다. 1. 인자가 num(10진수) 가 들어간다는 점과 2. 리턴해준 문자열에서 '0b' 라는 접두사가 존재하는 것 위의 두가지가 해결된 이후 count('1') 을 통해 1의 개수를 쉽게 가져올 수 있었다. 위의 조건대로된 sorted가 리턴이 되었다.. 2023. 8. 20.
[구름톤 챌린지] Day3 완벽한 햄버거 만들기 N = int(input()) S = list(map(int, input().split())) get_max_idx = S.index(max(S)) for i in range(get_max_idx): if S[get_max_idx - (i + 1)] > S[get_max_idx - i]: print(0) exit() for j in range(len(S) - get_max_idx - 1): if S[get_max_idx + j] < S[get_max_idx + (j + 1)]: print(0) exit() print(sum(S)) 단순 구현 문제이지만 반복을 어디까지 돌릴것인가에 대한 골치아픈 반복문이 등장한 문제였다. 처음에는 3개씩 묶어서 앞뒤 반복해서 찾아가면 되지않을까 생각을 했었지만 도루묵이였다.. 2023. 8. 20.
반응형