본문 바로가기

전체 글202

[백준] JAVA 자바 : 한수 (1065번) 1보다 크고 N보다 작거나 같은 한수의 개수를 출력하는 문제이다.그런데 풀다 보면서 느끼는 건데... 완전 탐색이 그리디보다 어려운 것 같다... 아직 얼마 안 풀어봐서 그런가...?ㅋㅋㅋ전부를 탐색해야 해서 은근 고려할 게 많은 느낌...? 여튼, 난 어떻게 구현했냐면1~99까지는 모두 등차수열이다. 당연히 모든 자릿수의 차이가 똑같으니까! 그럼 우리가 구해야할 부분은 100~1000 사이의 수이다.일의자리 수와 십의자리 수의 차이를 먼저 구한 후(diff), 나머지 자릿수를 돌면서 두 자릿수의 차이가 diff와 모두 같다면 한수로 저장한다. 만약 한 자리라도 틀리게 된다면 그 수는 한수가 아니게 된다. 1000까지 모두 검사한 후, 1부터 N까지 돌면서 한수의 개수를 출력한다. import java... 2024. 5. 18.
[백준] JAVA 자바 : 셀프 넘버 (4673번) 백준을 풀면서 처음 만난 완전탐색 문제인데... 생각보다 얕봤다가 은근 애먹었던 문제...겨우 실버 5인데... 이런 문제에 헤맸다니 진짜 앞길이 막막하다... 여튼 어떻게 풀었냐면, 1부터 10,000까지 모든 수를 돌면서 생성자가 되는 수를 모두 체크한다. 생성자가 되는 수는 list에 1로 표시해 두고, 셀프 넘버는 그대로 0으로 둔다. 그리고 맨 마지막에 이 리스트를 전부 돌면서 0인 인덱스들만 출력한다. import java.io.IOException;public class SelfNumber { public static void main(String[] args) throws IOException { int[] list = new int[10001]; // 1부터.. 2024. 5. 17.
[백준] JAVA 자바 : 수 묶기 (1744번) 현재 수가 양수인지 음수인지 나누어서 판단해야 한다. 현재 수가 양수인 경우, 1은 곱하지 않고 더해준다 2 이상의 수는 차례로 곱해서 합한다.현재 수가 음수인 경우, -1 이하의 수는 모두 곱한 후 더해준다. 0은 음수로 포함시켜서, 가장 절댓값이 낮은 음수는 0과 곱해 0으로 만들어준다. 골드4 치고는 조금 쉽다고 느꼈던...? 문제였다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Collections;import java.util.PriorityQueue;public class TyingNumber { public static int stoi(Str.. 2024. 5. 6.
[Boo's Battle] 2. 이뿌다 디자이너나 할까 [ + Spring Security, Jwt토큰을 이용한 Stateless 로그인 구현 ] 2024. 3. 24.
[Boo's Battle] 1. 닌자 키드라는 게임을 아시나요? 혹시 이 글을 읽고 계신 분들은 과거 야후 꾸러기 게임이었던 '닌자 키드'를 알고 있으십니까? 대략 이런 게임인데, 실시간으로 두 명이 턴을 돌아가면서 상대 캐릭터의 위치를 추측해서 공격하면서 HP를 깎는 게임이다. 나도 어릴 때 되게 재밌게 했던 게임인데... 야후 코리아가 서비스를 종료하면서 닌자 키드 역시 사라지게 되었다...ㅜㅜ 그러던 어느 날... 커뮤니티에서 웹 개발자 한 분이 웹 기반 게임 포이 프로젝트를 2년동안 파셨다는 글을 보게 됐는데, 링크는 다음과 같다. https://okky.kr/articles/1174160 저 게시글의 사진을 보면 진짜 깔끔하고 완성도가 높아 보인다...ㄷㄷ 댓글만 봐도 호평 뿐! 이 글을 보고 나도 삘 받아서... 한 가지 프로젝트를 시간 날 때마다 조금씩 .. 2024. 3. 24.
[백준] JAVA 자바 : 보석 도둑 (1202번) 문제는 대략 이렇고, 제가 지금 시간이 없어서 대략 어떻게 풀었는지만 간단히 쓰자면 우선 보석의 정보를 2차원 배열로 입력받고, 무게를 기준으로 오름차순 정리한다. 그리고 가방의 수용량을 배열로 입력받고 오름차순 정리한다. 가방 수용량이 담긴 배열을 처음부터 돌면서, 해당 가방이 담을 수 있는 수용량까지의 무게를 가진 모든 보석들의 가치를 (높은 값이 우선인)우선순위 큐에 담는다. 다 담았으면 그 우선순위 큐에서 poll()해서 나오는 값이 해당 수용량에서 가질 수 있는 최고 가치의 보석이므로 sum에 더해 주며, 이 과정을 가방 개수만큼 반복한다. import java.lang.StringBuilder; import java.io.BufferedReader; import java.io.IOExcepti.. 2024. 3. 22.
반응형