b1002. 터렛
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1002 🎯 자바로 푸는 터렛 📌 문제 개요 두 터렛이 각각의 위치에서 일정한 반지름만큼의 범위를 감지한다.두 터렛이 동시에 감지할 수 있는 적의 위치 좌표 수를 구하는 문제이다. 터렛의 감지 범위는 원이 되고,두 원이 만나는 지점의 개수를 구하는 기하학적 문제이다. 🧪 예제 입력/출력 예제 입력30 0 13 40 0 370 0 3 0 7 41 1 1 1 1 5 예제 출력210 💡 핵심 아이디어 두 원이 만나거나, 만나지 않는 경우를 기하학적으로 분류하면 된다. 두 원의 중심 거리 = d반지름 각각 r1, r2조건설명결과d == 0 && r1 == r2원이 완전히 겹침 (무한히 많은 점)-1d > r1 + r2원이 서로 멀리 떨어..
Lv 2. 숫자블록
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/12923?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   자연수 n에 대해, 1과 n을 제외한 약수 중에서 10,000,000 이하인 값 중 가장 큰 값을 찾아야 한다.만약 그런 값이 없다면 1을 반환해야 한다. 단, n이 1이라면 0을 반환합니다.처음 작성했던 코드에서는 n의 약수를 찾을 때 첫 번째로 발견되는 약수 쌍을 이용하여 바로 반환하는 방식이었다. 하지만 이 방식은 모든 경우를 정확하게 처리하지 못했다.  예를 들어, n = 20000010일 때, 약수는 [1,..
Lv2. 124 나라의 숫자 (Java)
·
Algorithm & Data Structures/Programers
package Programmers; import java.util.*; class Solution { public String solution(int n) { Stack stack = new Stack (); String answer = ""; while(n != 0) { int temp = n % 3; if(temp == 0) { temp = 4; n = n / 3 - 1; } else { n /= 3; } stack.push(temp); } while(!stack.isEmpty()){ answer+=stack.pop(); } return answer; } }