오늘은 파이썬에 익숙해지기 위해서 파이썬으로 간단하게 코테를 여러문제 풀어보았다. 구름 이라는 플랫폼에서 코테를 연습했다.
+, -, * 로 구성된 수식 A, B가 주어진다. 각 수식을 연산자 우선순위에 따라 계산했을 때, 두 수식의 계산 결과 중 더 큰값을 출력해라
a, b = input().split()
print(max(eval(a), eval(b)))
한 변의 길이가 N인 정사각형 격자판이 있다. 각 격자의 길이가 1일때 이 격자판의 크고 작은 정사각형의 개수는?
n = int(input())
result = 0
for i in range(0,n):
result += (n-i) * (n-i)
print(result)
N개의 10진수 정수가 주어지는데 이를 2진수로 나타냈을 때 1의 개수를 기준으로 내림차순하고, 순서가 같다면 원래 10진수를 기준으로 내림차순 정렬해라. 그때 앞에서 k번째 위치한 수를 반환해라.
n, k, 리스트를 map(int, input().split())으로 받아준다.
리스트 컴프리헨션을 이용해서 각 숫자에 대해 (1의 개수, 원래 숫자) 튜플을 생성해 리스트를 만들어준다.
sorted() 함수를 이용해 정렬을 하는데, 정렬 기준(key)을 lambda를 이용해서 -x[0](1의 개수 기준 내림차순), -x[1](원래 숫자 기준 내림차순) 정렬을 시켜준다.
마지막으로 k번째(k-1) 원래 수를 반환하면 완료
n, k = map(int, input().split())
nums = list(map(int, input().split()))
nums_with_one_counts = [(bin(num).count('1'), num) for num in nums]
sorted_nums = sorted(nums_with_one_counts, key=lambda x: (-x[0], -x[1]))
print(sorted_nums[k-1][1])