반응형

java 94

[Java] 백준알고리즘 #10988 팰린드롬인지 확인하기

팰린드롬(palindrome)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등이다. 입력 받은 문자열이 팰린드롬인지 아닌지 판별하는 문제. 먼저 전체 코드를 보자 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String tmp = ""; for (int i = a.length() - 1; i >= 0; i--) { tmp = tmp + a.charAt(i); } if (tmp.equals(a)) { System.out.pri..

[Java] 백준알고리즘 #3003 킹, 퀸, 룩, 비숍, 나이트, 폰

필요한 말의 개수를 구하는 프로그램 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int king = sc.nextInt(); int queen = sc.nextInt(); int rook = sc.nextInt(); int bishop = sc.nextInt(); int knight = sc.nextInt(); int pawn = sc.nextInt(); king = (king - 1) * -1; queen = (queen - 1) * -1; rook = (rook - 2) * -1; bishop = (bis..

[Java] 백준알고리즘 #25314 코딩은 체육과목 입니다

4바이트가 증가할 때마다 long이라는 문자열을 앞쪽에 추가하는 문제. 반복문을 이용해서 간단히 풀 수 있다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String ans = ""; for (int i = 0; i < n / 4; i++) { ans += "long "; } System.out.println(ans + "int"); sc.close(); } } 다만 우리는 이전에 풀었던 수학은 체육과목입니다 문제에서 repeat() 함수를 사용해봤었다. 2023.09.26 - [Java/..

[Java] 백준알고리즘 #25304 영수증

영수증의 물건들의 합이 총 금액과 같은지 확인하는 문제. 반복문을 이용해 각 물건들의 값을 더하여 비교해보면 되는 간단한 문제이다. 전체 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int all = sc.nextInt(); int num = sc.nextInt(); int sum = 0; for (int i = 0; i < num; i++) { int price = sc.nextInt(); int count = sc.nextInt(); sum = sum + (price * count); } if (sum =..

[Java] 백준알고리즘 #2480 주사위 세개

주사위 세 개를 던져 상금을 받는 게임이다. 먼저 3번 조건을 위해 최대값을 저장하는 조건문을 먼저 만든다. int maxdice = 0; if (dice1 > maxdice) { maxdice = dice1; } if (dice2 > maxdice) { maxdice = dice2; } if (dice3 > maxdice) { maxdice = dice3; } 이후 각 조건에 맞춰 상금을 계산하면 완료. 전체 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int dice1 = sc.nextInt(); int ..

[Java] 백준알고리즘 #2525 오븐 시계

현재 시간에 입력한 분을 더하여 시, 분 형태로 출력하는 문제. 조건문만 잘 사용하면 어렵지 않다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int hour = sc.nextInt(); int min = sc.nextInt(); int req = sc.nextInt(); hour = hour + (req / 60); min = min + (req % 60); if (min > 59) { min -= 60; hour++; } if (hour > 23) { hour -= 24; } System.out.println(hour + "..

[Java] 백준알고리즘 #8741 이진수 합

k자리수 이하의 모든 자연수의 합을 구하는 문제이다. 예를들어 3인 경우 3자리 이하의 이진수는 111(7), 110(6), 101 (5) , 100 (4) , 11 (3) , 10 (2) , 1 (1) 와 같다. 이 수를 모두 더하면 (1+2+3+4+5+6+7) 28이 되므로 이를 다시 이진수로 나타내면 11100 이 된다. 수의 범위가 10만자리까지 해당되므로 결과값으로 상당히 큰 수가 나올 수 있다. 이진법으로 나타낼 때 31자리에 해당하는 값만 해도 21억(int형 최대값) 이므로 정수형으로 수를 표현하기에는 턱없이 부족하다. 정수형에 담아 메모리초과가 나는 예시 import java.util.Scanner; public class Main { public static void main(Strin..

[Java] 백준알고리즘 #10953 A + B - 6

각 케이스의 두 수를 더한 값을 출력하는 문제. 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); String[] testcase = new String[t]; for (int i = 0; i < t; i++) { testcase[i] = sc.next(); String a[] = new String[2]; a = testcase[i].split(","); int sum = Integer.parseInt(a[0]) + Integer.parseInt(a[1]); System.o..

[Java] 백준알고리즘 # 10101 삼각형 외우기

세 각을 입력받아 어떤 삼각형인지 판단하는 문제이다. 조건문만 잘 활용한다면 간단히 해결할 수 있다. 코드는 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); int z = sc.nextInt(); if (x == 60 && y == 60 && z == 60) { System.out.println("Equilateral"); } else if (x + y + z == 180) { if (x != y && y != z && z != x) { Sy..

[Java] 백준알고리즘 #9063 대지

간단히 말해 x,y 좌표 위의 점들을 포함하는 가장 작은 사각형의 면적을 구하는 문제이다. 조건에서 동서, 남북으로 평행한 네 변을 가지는 사각형을 구하는 것이라고 했으니 더욱 간단해진다. 좌표 위에서 직사각형의 넓이는 (x2-x1) x (y2-y1) 이 되므로 구슬이 있는 지점들의 최대값을 x2, y2에, 최소값을 x1, y1에 저장하면 된다. 코드를 보면 다음과 같다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] x = new int[n]; int[] y = new int[n]..

반응형