분류 전체보기 387

[220717] 백준풀기 (2309)

- 2309: 일곱 난쟁이 (성공, 다시 풀어보기) 먼저 9개의 숫자를 입력받은 후 오름차순으로 배열했다. 9개의 숫자 배열에서 7개의 숫자를 골라 합이 100이 되는 경우, 그 7개의 숫자를 출력해야했다. 나는 9개의 숫자 배열에서 7개를 골라내는 방식을 생각했지만, 구글 서치를 통해 "9개의 전체 합에서 두개의 숫자만 골라 뺐을 때 100이 되는 경우" 를 찾는 것이 더 간단하다는 것을 알게되었다. 이 문제를 통해 몇 개의 숫자를 골라내야 한다면 더 적은 쪽을 고르도록 코드를 만드는 것이 더 간단하다는 새로운 방법을 깨닫게 되었다.

백준 2022.07.17

[220715] 백준풀기 (5585)

- 5585: 거스름돈 (성공) 먼저 가격을 입력받은 후 (1000 - '입력받은 가격') 을 계산해 거스름돈을 계산했다. 500, 100, 50, 10, 5, 1 순서로 거스름돈에 대입해보며, 큰 숫자부터 거스름돈의 가장 많은 부분을 차지하도록 했다. (잔돈 개수가 가장 적게 하기 위한 단계임) 잔돈이 계산될 때마다 그 개수를 계산해 마지막에 잔돈의 개수가 출력되도록 했다.

백준 2022.07.15

[220712] 백준 풀기 (2845, 1026)

- 2845: 파티가 끝나고 난 뒤 (성공) 입력받는 숫자의 개수가 5개로 정해져있어야 하는 문제였다. - 1026: 보물 (성공) 처음엔 배열 A의 순서를 바꾸면 안된다고 생각하여, 순서를 유지하되 앞의 숫자가 하나씩 뒤로 가며 배열을 바꾸도록 했다. 하지만 배열 A의 순서가 바뀌어도 된다는 점을 깨달아 A의 최댓값은 B의 최솟값과 A의 최솟값은 B의 최댓값과 매치되어 총합은 최소를 이루도록 했다. 따라서 배열 A, B를 각각 크기 순대로 나열하는 단계가 필요했고 이후 배열 A는 최솟값부터, 배열 B는 최댓값부터 각각 매치되어 계산하는 코드가 필요했다.

백준 2022.07.12