본문 바로가기

전체 글411

[백준] 14916번 : 거스름돈 – JAVA [자바] https://www.acmicpc.net/problem/14916 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 문제 문제 풀이 백준 14916번 거스름돈은 1로 만들기와 비슷한 DP 문제이다. 이 문제에서는 입력으로 돈 n원이 주어지고 2원짜리 동전과 5원짜리 동전으로 최소의 동전을 써서 거스름돈을 주어야 한다. 그리고 이 돈 n원을 거슬러 줄 수 없으면 -1을 출력하면 된다. 우선 n원을 거슬러 줄 수 없다는 것은 2원과 5원짜리 동전으로 만들 수 없는 돈을 뜻한다. 1 원하고 3원만 거슬러 줄 수 없다. 나머지 돈들은 2 원하고 5원을 조합하면 만들 수 있다. 우선 int형 배열 dp를 만들고 dp [1]부터 dp [5].. 2022. 4. 14.
[백준] 9711번 : 피보나치 – JAVA [자바] https://www.acmicpc.net/problem/9711 9711번: 피보나치 첫 번째 라인에는 정수 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 정수 P와 Q가 주어진다. www.acmicpc.net 문제 문제 풀이 백준 9711번 피보나치는 실버 2 난이도의 DP 문제이다. 그중에서도 피보나치와 나머지를 이용해서 푸는 문제이다. 이 문제에서는 테스트 케이스 T가 주어지고 테스트 케이스마다 정수 p와 q가 주어진다. 그리고 각 테스트 케이스에서 p번째 피보나치 수를 q로 나눈 나머지 값을 출력해주면 된다. 이 문제는 얼핏 보면 되게 쉬워 보인다. 하지만 이 문제의 정답 비율은 35.903% 밖에 되지 않는다 (2022년 4월 14일 기준). 아마도 BigInteger를 안 써서 그런 .. 2022. 4. 14.
[백준] 11719번 : 그대로 출력하기 2 – JAVA [자바] https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 문제 문제 풀이 백준 11719번 그대로 출력하기 2는 브론즈 1 난이도의 구현, 그리고 문자열 문제이다. 이 문제는 백준 11718번 그대로 출력하기의 연장 문제이니 백준 11718번도 참고하면 좋겠다. https://propercoding.tistory.com/27 [백준] 11718번 : 그대로 출력하기 – JAVA [자바] https://www.acmicpc.net/p.. 2022. 4. 14.
[백준] 1924번 : 2007년 – JAVA [자바] https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 문제 문제 풀이 백준 1924번 2007년은 브론즈 1 난이도의 구현 문제이다. 이 문제에서는 2007년도의 날짜가 주어지고 이 날짜가 무슨 요일인지 출력하기만 하면 된다. 그리고 1월 1일은 월요일이다. 우선 나는 int형 배열 days를 만들어 한 달에 며칠이 있는지를 저장했다. 예를 들어서 1월이면 31일이 있고 2월이면 28일이 있는 것처럼 int형.. 2022. 4. 14.
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! – JAVA [자바] https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 문제 문제 풀이 백준 18108번 1998년생인 내가 태국에서는 2541년생?!은 되게 쉬운 문제이도. 난이도도 그렇고 높은 정답 비율에서도 알 수 있다. 이 문제에서는 불기 연도 y가 주어지고 이 연도를 서기 연도로 변환해서 출력만 해주면 된다. 즉, 주어지는 불기 연도 y에서 543만 빼서 출력해주면 끝이다. System.out.pri.. 2022. 4. 14.
[백준] 11721번 : 열 개씩 끊어 출력하기 – JAVA [자바] https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 문제 문제 풀이 백준 11721번 열 개씩 끊어 출력하기는 브론즈 2 난이도의 문자열 문제이다. 이 문제에서는 입력으로 첫 줄에 문자열이 주어지고 이 문자열을 열 개씩 끊어서 출력하기만 하면 된다. 이 문제는 자바 String의 substring() 함수를 써서 풀도록 하겠다. 그전에 substring 함수에 대해 간략하게 알아보겠다. String substring(int index) Substring 함수는 두 가지가 있는데.. 2022. 4. 13.
[백준] 1535번 : 안녕 – JAVA [자바] https://www.acmicpc.net/problem/1535 1535번: 안녕 첫째 줄에 사람의 수 N(≤ 20)이 들어온다. 둘째 줄에는 각각의 사람에게 인사를 할 때, 잃는 체력이 1번 사람부터 순서대로 들어오고, 셋째 줄에는 각각의 사람에게 인사를 할 때, 얻는 기쁨이 1번 www.acmicpc.net 문제 문제 풀이 백준 1535번 안녕은 DP, 그중에서도 배낭 문제와 되게 유사한 문제이다. 배낭 문제를 아직 잘 모르면 밑에 있는 링크를 참고하면 되겠다. https://propercoding.tistory.com/50 [알고리즘] 배낭 문제 (Knapsack Problem) 목차 배낭 문제란? 배낭 문제란 담을 수 있는 최대 무게가 정해진 배낭이 있고 각각의 무게와 가치가 주어진 물건들이 주.. 2022. 4. 13.
[백준] 2525번 : 오븐 시계 – JAVA [자바] https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 문제 풀이 백준 2525번 오븐 시계는 또 하나의 수학 문제이다. 이 문제에서는 현재 시각이 주어지는데 현재 시각의 시 A, 그리고 분 B가 주어지고 요리하는데 필요한 시간 C가 주어진다. 그리고 A시 B분에서 C라는 시간이 흘렀을 때 그때의 시간을 출력해주면 된다. 나는 이 문제를 나누기와 나머지를 이용해서 풀었다. 요리가 끝날 때가 몇 시 인지를 구하려면 H = A + (B .. 2022. 4. 13.
반응형