백준 25305번 커트라인
n, k = map(int, input().split())
a = input().split()
print(sorted(map(int, a), reverse=True)[k-1])
첫줄에 입력할 수의 갯수(입력만 받고 쓰지는 않음)와 몇등까지 줄건지의 수를 입력받는다
두번째에 시험 점수들을 공백으로 나누어 입력한다
입력받은 점수들을 정수로 변환하고 내림차순으로 정렬한뒤 k번째 인덱스를 출력한다
백준 2908번 상수
a, b = map(int, input().split())
c = ''.join(list(reversed(str(a))))
d = ''.join(list(reversed(str(b))))
print(max(c, d))
단순하다
두 수를 공백으로 나누어 입력받고 이를 뒤집어 '',join
으로 합친뒤에 두 수중 최댓값을 출력받는다
프로그래머스 최소직사각형
def solution(sizes):
# 가로와 세로를 비교해서 세로길이가 가로길이보다 크면 돌리기
for i in range(len(sizes)):
print(i)
if sizes[i][0] < sizes[i][1]:
sizes[i][0], sizes[i][1] = sizes[i][1], sizes[i][0] # 가로세로 뒤집기
a = max(sizes, key=lambda x: x[0])[0] # 가장 큰 가로값 반환
b = max(sizes, key=lambda x: x[1])[1] # 가장 큰 세로값 반환
return a*b
가로와 세로크기를 비교하여 만약 가로가 세로보다 크면 뒤집는다
그리고 max(key=lambda)
를 사용하여 각각 가로와 세로의 최댓값을 반환시킨 후 곱해서 너비를 구한다
프로그래머스 같은 숫자는 싫어
def solution(arr):
answer = [arr[0]]
for i in arr:
if not i == answer[-1]:
answer.append(i)
return answer
arr
의 0번인덱스를 answer
에 담아준다
하나씩 arr
의 요소들을 더해줄건데 각각 들어올때마다 가장 최근에 값들answer[-1]
이 요소와 중복이 아닐시에 answer
에 계속 넣어주는 방식이다