반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q2026 : 16진수를 2진수로 변환하기 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
입력으로 16진수가 입력되고 알파벳은 대문자로 입력된다.
(각 자리는 : 0
9, A
F) (길이는 50,000글자 이내)
출력
2진수로 변환하여 4자리씩 끊어서 출력한다.
단, 최상위 비트의 불필요한 0도 출력한다.( 1 -> 0001)
예시
- 입력 : 7AF
- 출력 : 0111 1010 1111
Solution (풀이)
- 풀이 : 메모리 14188, 시간 : 88
class Binary {
private String hex;
// 2진수 순서 배열 필드로 선언
private String[] hex2bin = {"0000", "0001", "0010", "0011","0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};
public Binary(String number) {
hex = number;
}
public void hexTobin() {
StringBuilder result = new StringBuilder();
// 문자를 입력 받아서 각 자리의 문자를 switch를 통해 비교
for (int i=0; i<hex.length(); i++) {
switch(hex.charAt(i)) {
case '0' : result.append(hex2bin[0]); break; // 해당 배열 자리를 append
case '1' : result.append(hex2bin[1]); break;
case '2' : result.append(hex2bin[2]); break;
case '3' : result.append(hex2bin[3]); break;
case '4' : result.append(hex2bin[4]); break;
case '5' : result.append(hex2bin[5]); break;
case '6' : result.append(hex2bin[6]); break;
case '7' : result.append(hex2bin[7]); break;
case '8' : result.append(hex2bin[8]); break;
case '9' : result.append(hex2bin[9]); break;
case 'A' : result.append(hex2bin[10]); break;
case 'B' : result.append(hex2bin[11]); break;
case 'C' : result.append(hex2bin[12]); break;
case 'D' : result.append(hex2bin[13]); break;
case 'E' : result.append(hex2bin[14]); break;
case 'F' : result.append(hex2bin[15]); break;
}
result.append(" "); // 각 문자, 즉 반복문이 진행될때마다 띄어쓰기
}
System.out.println(result);
}
}
public class Answer2 {
public static void main(String[] args) throws IOException, NumberFormatException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String number = br.readLine();
Binary binary = new Binary(number);
binary.hexTobin();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q2008 : 오름차순? 내림차순? 2 (0) | 2022.11.23 |
---|---|
[CodeUp_Java] Q2025 : 좋은 날 (0) | 2022.11.22 |
[CodeUp_Java] Q2027 : 콘웨이의 1만 달러짜리 수열 (0) | 2022.11.22 |
[CodeUp_Java] Q2028 : 삼각수 (0) | 2022.11.21 |
[CodeUp_Java] Q2030 : 윈도우 화면 출력하기 (0) | 2022.11.21 |