본문 바로가기

전체 글

(181)
[백준] 1978 소수 찾기_ JAVA ● 문제 ● 풀이 소수인지 확인하는 법 : x가 주어졌을 때, 2부터 x-1까지 나누었을 때 나누어 떨어지는 수가 하나도 없다면 소수이다. 이 말인 즉슨 x를 n으로 나누었을때 나머지가 0이면 안된다는 뜻이다. 일단 1은 소수가 아니고, 2는 무조건 소수이기에 3부터 계산을 하게 구현해보았다. 근데 x-1까지 모두 돌았을 때 나누어떨어지는 수가 없다면 카운트를 세야하는데, 이를 반대로 생각하면 반복문을 돌다가 x % n == 0 이라면 소수가 아니라는 뜻이다. 그래서 boolean isPrime = true; 를 두고, x % n == 0 이라면 false가 되어 반복문을 종료하도록 짜보았다. 이 생각을 하는데 오래걸림. (결국 구글링) import java.util.*; class Main { publ..
[JAVA] String.format 문자열 형식 설정 https://yun9869.tistory.com/4 [백준] 10250 ACM 호텔_ JAVA ●문제 ● 풀이 층(h)만큼 n01호부터 차례대로 배정하고 n번째 손님의 호수를 출력하는 문제. 첫 풀이의 오류 : 계산을 402호일 때 층부분(4), 호수부분(2) 따로 계산해서 출력하느라 출력이 402호로 yun9869.tistory.com 위 백준 문제를 풀다가 문자열 형식 정하는 String.format 에 대해 자세한 지식을 찾아보게 됨. https://blog.jiniworld.me/68 에서 다양한 정보를 가져왔습니다! %d( = Integer Formatting) 10진수 integer 형식 설정 시 이용 int a = 5; System.out.println(String.format("%d_",..
[백준] 10250 ACM 호텔_ JAVA ●문제 ● 풀이 층(h)만큼 n01호부터 차례대로 배정하고 n번째 손님의 호수를 출력하는 문제. 첫 풀이의 오류 : 계산을 402호일 때 층부분(4), 호수부분(2) 따로 계산해서 출력하느라 출력이 402호로 나와야 하는데 42로 나옴. 그렇다고 아래 코드처럼 0을 붙이면, 큰 수의 예시일 때 0이 들어가지 않는 호수도 있을 거임. 아예 xx, yy으로 두자리의 숫자로 정해놓는건 어떻게 하는지 알아봐야함 import java.util.*; class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int T = in.nextInt(); for(int i =0; i
[백준] 1085 직사각형에서 탈출_ JAVA ● 문제 ●풀이 직사각형 내에 현재 위치 (x,y) 에서 십자가 모양의 4개의 길이 중 최솟값을 구하는 문제.4개의 길이를 구해서, 배열에 넣고 오름차순으로 분류를 해서 가장 작은 수를 출력하였다. import java.util.*; class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int x = in.nextInt(); int y = in.nextInt(); int w = in.nextInt(); int h = in.nextInt(); int a = x - 0; int b = w - x; int c = h - y; int d = y - 0; int[] arr = {a,b,c,d}; Array..
[백준] 4153 직각삼각형 _ JAVA ● 문제 ● 풀이 ※주의할 점 : 세 변을 받을 때 어느 변이 대각선인지 알 수 없다. ∴ 3개의 조건을 모두 체크 해야함 𝑎² = 𝘣² + 𝘤² 인지 체크하면 된다. 테스트케이스 수가 정해져 있지 않으므로, while문으로 계속 돌리며 세 변이 0,0,0일 때 반복문을 종료하도록 한다.대각선 변을 알 수 없으므로, 세 가지 변에 대한 𝑎² = 𝘣² + 𝘤²을 모두 체크한다. import java.util.*; class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a = 0, b = 0, c = 0; while (true) { a = in.nextInt(); b = in.nextInt();..