79. 16진수로 된 구구단을 출력하려고 한다.

콘솔에서 영문자 하나를 입력받고, 맞는 단의 구구단을 출력하라.

입력 범위 : A ~ F

출력 : 모든 수는 16진수 대문자형식으로 출력

입력 예시

B

출력 예시

B*1=B

B*2=16

B*3=21

B*4=2C

B*5=37

B*6=42

B*7=4D

B*8=58

B*9=63

B*A=6E

B*B=79

B*C=84

B*D=8F

B*E=9A

B*F=A5

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		char floor = scan.next().charAt(0);
		scan.close();
		switch (floor) {
		case 'A':
			printGuGuDan(10);
			break;
		case 'B':
			printGuGuDan(11);
			break;
		case 'C':
			printGuGuDan(12);
			break;
		case 'D':
			printGuGuDan(13);
			break;
		case 'E':
			printGuGuDan(14);
			break;
		case 'F':
			printGuGuDan(15);
			break;
		default:
			break;
		}
	}
	static void printGuGuDan(int floor) {
		String strFloor = String.format("%X", floor);
		for (int i = 1; i < 16; i++) {
			int calc = i * floor;
			System.out.println(String.format("%X*%X=%X", floor,i,calc));
		}
	}
}

 

Swift 4.2

import Foundation

func printGuGuDan(floor:Int) {
    for i in 1...15 {
        let calc = i * floor
        print(String.init(format: "%X*%X=%X", floor, i, calc))
    }
}
if let line = readLine(), let floor = line.split(separator: " ").first{
    switch floor {
    case "A":
        printGuGuDan(floor: 10)
    case "B":
        printGuGuDan(floor: 11)
    case "C":
        printGuGuDan(floor: 12)
    case "D":
        printGuGuDan(floor: 13)
    case "E":
        printGuGuDan(floor: 14)
    case "F":
        printGuGuDan(floor: 15)
    default:break
    }
}

 

A ~ F 입력받은 수를 10진수로 어떻게 변환할까 고민하다가 귀찮아져서

그냥 스위치문로 일일이 넣어줬습니다

이글을 보시는분은 더 좋은 방법을 떠올릴시거라고 생각됩니다.

https://codeup.kr/problem.php?id=1082

 

 

+ Recent posts