자바/코드트리
[코드트리] 구구단을 출력하는 함수 - 자바(Java)
Jakorithm
2024. 2. 15. 00:24
728x90
문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
9 이하의 서로 다른 정수 3개가 주어지면, 주어진 정수 중 가장 작은 수부터 가장 큰 수까지 구구단을 출력하되, 중간값인 정수로 시작하는 구구단은 빼고 출력하는 프로그램을 함수를 이용하여 작성해 보세요.
코드
첫 번째 줄에 서로 다른 정수 a, b, c가 공백으로 구분되어 주어진다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int max = max(a, b, c);
int min = min(a, b, c);
int mid = mid(a, b, c);
printGugudan(max, min, mid);
}
// 최솟값부터 최댓값까지 구구단 구하기
private static void printGugudan(int max, int min, int mid) {
StringBuilder sb = new StringBuilder();
for (int i = min; i <= max; i++) {
if (i == mid) { // 중간값 건너뛰기
continue;
}
for (int j = 1; j <= 9; j++) {
sb.append(i).append(" * ").append(j).append(" = ").append(i * j).append("\n");
}
}
System.out.println(sb);
}
// 최댓값 구하기
private static int max(int a, int b, int c) {
if (a > b && a > c) {
return a;
} else if (b > a && b > c) {
return b;
} else {
return c;
}
}
// 최솟값 구하기
private static int min(int a, int b, int c) {
if (a < b && a < c) {
return a;
} else if (b < a && b < c) {
return b;
} else {
return c;
}
}
// 중간 값 구하기
private static int mid(int a, int b, int c) {
if ((a > b && a < c) || (a > c && a < b)) {
return a;
} else if ((b > a && b < c) || (b > c && b < a)) {
return b;
} else {
return c;
}
}
}
728x90