-
문제 4번 - 10진수를 2진수로 변환알고리즘/알고리즘 기초 100제 2020. 6. 30. 23:12
10진수를 2진수로 변환하세요.
19 -> 10011출력
public static void main(String[] args) { /* int inputNum = 19; int bin[] = new int[100]; int i = 0; int mok = inputNum; while (mok > 0) { bin[i] = mok % 2; mok /= 2; i++; } i--; for (; i >= 0; i--) { System.out.print(bin[i]); } */ System.out.println(); int value = 0; System.out.println("2보다 큰 수를 입력하시오 : "); Scanner sc = new Scanner(System.in); value = sc.nextInt(); int mok = 0; int namege = 0; List<Integer> list = new ArrayList<Integer>(); while (mok != 1) { mok = (value / 2); namege = (value % 2); list.add(namege); if (mok == 1) { list.add(mok); } value = mok; } StringBuilder sb = new StringBuilder(); for (int i = list.size() - 1; i >= 0; i--) { sb.append(list.get(i)); } System.out.println("정답 : " + sb.toString()); }
* 강의정답을 보면 나머지 값을 또 다른 변수(namege)에 저장하는 것 없이 문제를 해결했다.
쓸데없이 변수를 사용하는 행위를 줄여봐야 겠다.
'알고리즘 > 알고리즘 기초 100제' 카테고리의 다른 글
문제 6 - 최대공약수 (0) 2020.07.08 문제 5 - 대소문자 변환 (0) 2020.06.30 알고리즘 3번 - 최빈수 구하기 (0) 2020.06.21 알고리즘 2번 - 피보나치 수열 출력 (0) 2020.06.21 1번 학생이름 저장 및 검색 (0) 2020.06.16