본문 바로가기

Java53

[백준 Gold 3] 2437 저울 -Java 문제링크 : https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 접근 과정 : 처음에는 감이 오지 않아서, 추의 무게 조합을 모두 구해볼까 생각도 했다. 그런데 잴 수 없는 최소 무게는 항상 1부터 시작하더라.. 그러면, 추를 무게순으로 정렬시켜 놓고 -> 앞에것부터 더해가면 유의미한 현상이 보이지 않을까 생각했다. 좀 더 생각을 해보니, 누적합보다 현재 인덱스의 추의 무게가 더 크면 그 누적합을 측정할 수 없다!! 그리고 1부터 시작하니, 누적합보다 작은 .. 2021. 12. 25.
[백준 Gold 1] 1700 멀티탭 스케줄링 - Java 문제링크 : https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 접근 과정 : 문제를 보자마자, 페이지 교체 알고리즘 중 최적 페이지 교체 알고리즘이 생각났다. 실제로는, 미래에 어떤 페이지를 가장 사용하지 않을지 모르기에 사용할 수 없는 알고리즘. 그러나 문제에는 어떤 전기용품들이 사용될 지 알려주고 있다.!!!! 현재 사용중인 전기용품들중, 가장 오랫동안 사용되지 않을 전기용품을 교체한다!! 소스 코드 및 결과 : package BOJ; /* .. 2021. 12. 24.
[백준 Gold 4] 1339 단어 수학 - Java 문제링크 : https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 접근 과정 : 사용되는 알파벳의 개수를 확인하여 가장 많이 사용되는 것부터 9를 할당시킨다. 알파벳의 개수를 체크할 때, 자릿수에 대한 가중치를 부여 (10^자릿수) 처음에는 HashMap을 이용해서 체크했는데.. 다 작성하고 보니, 그냥 int배열하나로도 충분할 것 같아서 다시 작성. 소스 코드 및 결과 : package BOJ; /* 단어 수학 HashMap 이용 */ imp.. 2021. 12. 23.
[백준 Gold 4] 1744 수 묶기 -Java 문제링크 : https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 접근 과정 : 음수인 경우, 0과 1, 1보다 큰 수로 나누어서 접근했다. 음수 : 가장 작은 음수부터 2개씩 묶어서 곱함 음수의 개수가 홀수이고 0이 존재하면 해당 음수는 없어짐 / 만약에 0이 없으면 해당 음수를 더함 1 : 1의 개수만큼 더함 1보다 큰수 : 가장 큰 수부터 2개씩 묶어서 곱하고, 홀수면 남은 숫자는 더함 소스 코드 및 결과 : package BOJ; impor.. 2021. 12. 23.