코딩테스트 16

[Greedy Algorithm] BOJ11047: 동전 0

문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. ​ 예제 입력 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력 6 거스름돈 문제가 그리디 알고리즘을 이용한다는 것을 안다면, 풀 수 있는 문제이다 ! 그리디 알고리즘은 순간 최적을 찾는 것으로 여기서의 최적은 '큰 돈'부터 나누는 것이다. ​ 1. 첫째 줄에 사용할 수 있는 동전 개수 N과 우리가 구해야 할 돈인 K를 입력받는다. 2. 둘째 줄부터 우리가 사용할 수 있는 동전의 종류를 입력받고 reverse 한다. 왜? 큰 것부터 계산을 해야 되기..

코딩테스트 2021.05.12

제1회 숙명여자대학교 교내 알고리즘 경진대회 (SMUPC) 후기

5월 8일 SMUPC, SOPT 세미나, 카카오 코테 동시에 진행하느라 바빴던 날이다. 솝트 세미나를 1순위로 두고 세미나를 듣고 쉬는시간이나 다른 사람들의 질문 시간을 이용하여 진짜 짬을 내서 문제를 풀었다. ​ SMUPC는 5월 9일에 바로 문제를 공개했다. https://www.acmicpc.net/contest/view/618 제1회 숙명여자대학교 교내 알고리즘 경진대회 (SMUPC) Open www.acmicpc.net 두둥! 바로 이 문제들이다. 내가 도전한 문제는 A-SMUPC의 등장, C-헌내기는 친구가 필요해 였다. A는 완벽하게 성공했고 C는 시간이 없어서 푸는 도중에 끝나버렸다. 일단 문제 A부터 리뷰한 후, 각 문제를 풀어보고 리뷰해보자. ​ 문제 A 2021년 5월 8일 SMUPC..

코딩테스트 2021.05.12

[Level 1] 완주하지 못한 선수

공식적인 코딩테스트 첫문제이다. 두근두근 다음부터는 힌트를 잘 보고 해봐야겠다. 자바의 개념이 아직 기억이 나지 않아 for문을 통해 풀어보았다. [ 알고리즘 ] 반복문을 이용하여 participant(참여자)와 completion(완주자)를 비교한다. 반복문을 이용하여 participant(참여자)에 있는 중복된 사람이 있는지 비교한다. status는 true이면, 같은 것이 없어 answer에 저장되는 것이고, false이면, 이름이 같거나 중복되지 않는다는 boolean이다. class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; //System.out.println(..

코딩테스트 2020.07.09