옵시디언으로 문제를 푸는데, 블로그 포스팅 할 때 프론트 매터가 올라오는 문제가 있어서 포스트를 분리하였다
그렇다고, 티스토리에서 수정하면 코드 블록이 일렬로 나오는 문제가 있어 진퇴양난의 상황이다
아무튼 1주차 문제는 구현 위주라 아직 어려움을 못느끼고 있다 재밌다!
문제 풀이
3일차 문제
n = int(input())
result = 0
operations = {'+': lambda x, m: x + m, '/': lambda x, m: x // m, '-': lambda x, m: x - m, '*': lambda x, m: x * m}
for _ in range(n):
x, v, m = input().split()
result += operations[v](int(x), int(m))
print(result)
4일차 문제
n = int(input())
number = list(map(int,input().split()))
m = max(number)
check = True
z = False
count=0
if m == number[0]:
count += 1
# 나머지 숫자를 확인하면서 패턴을 검사
for i in range(1, n):
if m == number[i]:
count += 1
if count > 1 and number[i - 1] != m:
z = True
continue
elif (count == 0 and number[i - 1] <= number[i]) or (count > 0 and number[i - 1] >= number[i]):
continue
else:
z = True
print(0 if z else sum(number))
5일차
n, k = map(int, input().split())
numbers = list(map(int, input().split()))
# 각 숫자의 1의 개수를 저장하는 리스트 생성
count_ones = [(num, bin(num).count('1')) for num in numbers]
# 먼저 1의 개수로 내림차순 정렬, 그 다음 10진수로 내림차순 정렬
sorted_numbers = sorted(count_ones, key=lambda x: (x[1], x[0]), reverse=True)
# k번째 수 출력
print(sorted_numbers[k-1][0])
입력 받은 수에서 1의 갯수를 카운트 한 후, 1의 갯수, 숫자의 크기 순으로 정렬하여 제출하면 된다
728x90
'알고리즘 풀이' 카테고리의 다른 글
Baekjoon_수 찾기 (0) | 2023.08.19 |
---|---|
Baekjoon_요세푸스 문제 0 (0) | 2023.08.17 |
배열이 리스트보다 더 빠른 이유 (0) | 2023.08.16 |
Goorm_프로젝트매니징 (0) | 2023.08.15 |
구름톤 챌린지 1주차 (0) | 2023.08.14 |