https://www.acmicpc.net/problem/2920

 

2920번: 음계

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8

www.acmicpc.net

 

  • 배열, 구현 문제
arr = list(map(int, input().split()))
uparr = sorted(arr)
downarr = sorted(arr, reverse = True)

if arr == uparr:
    print("ascending")
elif arr == downarr:
    print("descending")
else:
    print("mixed")

https://www.acmicpc.net/problem/2798

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

 

  • 배열, 완전탐색 -> 3중 포문 문제
  • 여기서 3중 반복문을 사용할 때  2번째 반복문의 인덱스를 +1씩 해줌 3번 째라면 +2
  • 즉 "for i in range(0, n)" -> "for j in range(i+1, n)" -> for t in range(j+1, n) 
n, m = map(int, input().split())
arr = list(map(int, input().split()))
# n, m = 10, 500
# arr = [93, 181, 245, 214, 315, 36, 185, 138, 216, 295]
arr.sort(reverse = True)
max_dif = 0
lenth = len(arr)

for i in range(0, lenth):
    for j in range(i+1, lenth):
        for t in range(j+1, lenth):
            sum = arr[i] + arr[j] + arr[t]
            if sum <= m:
                max_dif = max(max_dif, sum)
print(max_dif)

 

+ Recent posts