728x90

2024/06/19 8

[백준 자바] 1550번(16진수) - 16진수를 10진수로 바꾸기

난이도 - 브론즈 2문제16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오.입력첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.출력첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다.  0~F를 문자열로 저장하여 16진수의 각 자리에 해당하는 문자와 일치하는 문자열의 인덱스에 16의 거듭제곱 값을 곱한다.import java.io.*;public class Main1550 { public static void main(String[] args) throws Exception { BufferedReader br = new Buffered..

백준/Java 2024.06.19

[백준 자바] 3460번(이진수) - '1' 위치 찾기

난이도 - 브론즈 3문제양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. (1 ≤ T ≤ 10, 1 ≤ n ≤ 106)출력각 테스트 케이스에 대해서, 1의 위치를 공백으로 구분해서 줄 하나에 출력한다. 위치가 낮은 것부터 출력한다.  2진수로 바꾸는 과정에서 n%2가 0이 나올 때마다 그 위치(index)를 저장한다.import java.io.*;public class Main3460 { public static void main(String[] args) th..

백준/Java 2024.06.19

[백준 자바] 11179번(2진수 뒤집기)

난이도 - 브론즈 1문제희연이는 스웨덴으로 이사하여 현재 학교를 다니고 있다. 1학년 교육과정은 중국에서 배웠고, 스웨덴과 중국 두 나라의 교육과정은 완전히 다르다. 희연이는 수학을 좋아한다. 하지만 지금은... 선생님은 칠판에 뺄셈을 설명하고 있어서 희연이는 수업에 흥미가 없다. 칠판에 있는 수들을 역 이진법으로 나타낸 수들로 같은 계산을 수행하는 것이 가능할까? 희연이는 몽상을 하며 시간을 보냈고, 머릿속으로 역 이진법 표시 프로그램을 구상하기 시작했다. 수업이 끝나는대로 희연이는 집에가서 컴퓨터에 그것들을 적을 것이다.당신이 할 일은 역 이진법 프로그램을 작성하는 것이다. 예를 들어 13을 2진법으로 나타내면 1101이고, 이것을 뒤집으면 1011이 된다. 이 수를 다시 10진법으로 나타내면 11이..

백준/Java 2024.06.19

[백준 자바] 14491번(9진수) - 10진수를 9진수로 바꾸기

난이도 - 브론즈 2문제10진수를 9진수로 바꾸자.입력첫째 줄에 10진수 T(1 ≤ T ≤ 10,000)가 주어진다.출력T를 9진수로 변환한 수를 출력한다.  n을 더이상 나눌 수 없을 때까지 9로 나누고 그 나머지를 StringBuffer에 붙인다.import java.io.*;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int..

백준/Java 2024.06.19

[백준 자바] 10829번(이진수 변환) - 자연수를 2진수로 바꾸기

난이도 - 브론즈 2문제자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.입력첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)출력N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.  n이 0이 될 때까지 2로 나누고 그 나머지를 StringBuffer에 붙인다.import java.io.*;public class Main10829 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buf..

백준/Java 2024.06.19

[백준 자바] 14915번(진수 변환기) - 10진수를 n진수로 바꾸기

난이도 - 브론즈 2문제정수 m, n을 입력 받아, 10진수 m을 n진수로 바꾸어 출력하는 프로그램을 작성하시오.입력첫 줄에서 정수 m, n을 입력 받는다. (0 ≤ m ≤ 1,000,000, 2 ≤ n ≤ 16)출력변환한 n진수의 수를 출력한다. 11~16 진수의 경우 10 이상의 수는 A~F 문자를 사용한다. 예를 들어, 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F를 사용한다.   0~F의 문자를 문자열로 저장(dchar).m%n를 인덱스로 하는 문자를 문자열에서 꺼내 StringBuffer에 붙인다.(나눌 수 없을 때까지 반복)import java.io.*;import java.util.StringTokenizer;public class Main14915 { publi..

백준/Java 2024.06.19

[백준 자바] 1373번(2진수 8진수), 2998번(8진수) - 2진수를 8진수로 바꾸기

2진수를 8진수로 바꾸려면 2진수의 3비트씩 잘라내 해당 비트의 8진수값을 순서대로 붙이면 된다.3개씩 잘라내기 위해 2진수의 길이가 3의 배수가 아니면 모자른 길이만큼 2진수 앞에 0을 붙인다.11001100로 예를 들면11001100 => 011001100 => 011 / 001 / 100011 => 3001 => 1100 => 4=> 314import java.io.*;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buff..

백준/Java 2024.06.19

[백준 자바] 1212번(8진수 2진수) - 8진수를 2진수로 바꾸기

난이도 - 브론즈 2 문제8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.입력첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.출력첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.  8진수를 2진수로 바꾸는 방법은 8진수의 각 숫자를 3비트의 이진수로 변환하여 순서대로 붙이는 것이다.314로 예를 들면 3 => 0111 => 0014 => 100최종적으로 2진수 값은 011001100이 된다. 입력값이 0인 경우에는 0을 바로 출력하고 0이 아닌 경우에는 8진수를 2진수로 바꾸는 octalToBinary 함수를 호출한다.8진수의 각 숫자에 해당하는 2진수 비트를 octalDigitToBinary 함수로..

백준/Java 2024.06.19
728x90