백준 21734번 (Bronze 2)
import java.util.Scanner;
public class problem348 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String inputString = in.next();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < inputString.length(); i++) {
char temp = inputString.charAt(i);
int charAt = temp;
int count = 0;
// 문자의 자릿수 값을 구한다.
while(charAt != 0){
count += charAt % 10;
charAt /= 10;
}
// 자릿수의 합 만큼 문자를 출력해준다.
for(int j = 0; j < count; j++){
System.out.print(temp);
}
System.out.println();
}
}
}
백준 23037번 (Bronze 2)
import java.util.Scanner;
public class problem349 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String inputString = in.next();
int[] temp = new int[inputString.length()];
int result = 0;
for (int i = 0; i < inputString.length(); i++) {
temp[i] = inputString.charAt(i) - '0';
}
for (int i = 0; i < temp.length; i++) {
// 값을 5의 제곱해주면서 result에 누적해준다.
result += Math.pow(temp[i], 5);
}
System.out.println(result);
}
}
백준 1312번 (Silver 5)
import java.util.Scanner;
public class problem351 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(); // 분자
int b = in.nextInt(); // 분모
int n = in.nextInt(); // 소수점 아래 N번째
int temp = a % b;
// 소수점의 N번째를 구하기위해 나머지구하는 n번 반복한다
for(int i = 1 ; i < n; i++){
temp = (temp * 10) % b; // n번째 나머지 갱신
}
temp = (temp * 10) / b;
System.out.println(temp);
}
}
백준 2303번 (Silver 5)
import java.util.Scanner;
public class problem352 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int size = in.nextInt();
// 일의 자리수의 max값을 담기위한 변수,
// -1인 이유는 가장 큰 한자리수가 0으로 나올수도있다.
int max = -1;
int index = 0;
// 1번 사람부터 시작함으로 int i = 1;
for (int i = 1; i <= size; i++) {
int[] arr = new int[5];
for (int j = 0; j < arr.length; j++) {
arr[j] = in.nextInt();
}
for (int j = 0; j < 3; j++) {
for (int k = j + 1; k < 4; k++) {
for (int p = k + 1; p < 5; p++) {
int sum = arr[j] + arr[k] + arr[p];
// 무조건 십의자리 숫자임으로 나머지를 구해주면된다.
int temp = sum % 10;
// >= 로 하는 이유는 만약 일의자리 숫자와 max값이 같으면
// 사람 번호 가 높은 사람을 반환
if (temp >= max) {
max = temp;
index = i;
}
}
}
}
}
System.out.println(index);
}
}
백준 2422번 (Silver 5)
import java.util.Scanner;
public class problem353 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int type = in.nextInt();
int count = in.nextInt();
// 크기를 + 1 한 이유는 아이스크림이 1부터 type까지 번호 임으로
boolean[][] flag = new boolean[type + 1][type + 1];
for (int i = 0; i < count; i++) {
int n = in.nextInt();
int m = in.nextInt();
// 안좋은 조합이 1,2 순서나 2,1 순서가 똑같음으로
flag[n][m] = true;
flag[m][n] = true;
}
int result = 0;
// 서로다른 3가지의 아이스크림을 선택한다.
// 순회하며 flag에 조합이 있는지 확인
for (int i = 1; i <= type; i++) {
for (int j = i + 1; j <= type; j++) {
for (int k = j + 1; k <= type; k++) {
if (!flag[i][j] && !flag[i][k] && !flag[j][k]) {
result++;
}
}
}
}
System.out.println(result);
}
}