알고리즘 유형: 구현

반응형

1. 문제 1550번 16진수 : 16진수의 개념을 알아야 되는 문제

이 문제를 풀면서 문제에 단위 테스트 코드를 적용해보았던 문제였다. 

난이도 : 브론즈 V (solved.ac 티어)

16진수 단위 테스트 코드가 궁금하시면 아래 링크를 참조해주세요.

 

[BOJ/백준] 1550번 16진수 단위 테스크 코드 (JAVA/자바)

1. 문제 1550번 16진수 단위 테스크 코드 문제 풀이 [BOJ/백준] 1550번 16진수 문제 풀이 (JAVA/자바) 1. 문제 1550번 16진수 : 16진수의 개념을 알아야 되는 문제 이 문제를 풀면서 문제에 단위 테스트 코드

programming-enjoy.tistory.com


문제 링크 : https://www.acmicpc.net/problem/1550


2. 문제 풀이

제 풀이는 BufferedReader(입력)와 BufferedWriter(출력), 16진수 개념, 아스키 코드(char) 를 이해해야 됩니다. 

BufferedReader(입력)와 BufferedWriter(출력)는 백준에서 풀이할때 Scanner와 System.out 보다 더 빠르게 입출력하기 위해 사용했습니다. 이 글에선 따로 설명하진 않겠습니다.

tenMultiply16진수 지수로 곱하기 위한 수이며 

String.charAt(index) 는 index 별로 아스키코드값을 얻을 수 있습니다.

아스키코드 표를 보시면 49~57는 1~9 숫자값을 나타냅니다. 0은 따로 계산할 필요 없어서 포함시키지 않았습니다.

또한 문제에 나오는 65~70는 A~F 값을 나타냅니다. 

이를 이용하여 yChar-48  = 1~9 , yChar-55 = 10~15 값을 나타냅니다.


3. 소스 코드 및 풀이 인증

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class Main { 
    
    public static void main(String[] args) throws IOException{ 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        String y = br.readLine();
        int yChar;
        long sum = 0;
        int tenMultiply;
        for (int i = 0; i < y.length(); i++) {
            yChar = y.charAt(i)-0;
            tenMultiply=1;
 
            for (int j = y.length()-1; j > i; j--) {
                tenMultiply *= 16;
            }
            
            if(48 < yChar && yChar < 58) {
                sum += (yChar-48* tenMultiply;
            }
            else if(64 < yChar && yChar < 71) {
                sum += (yChar-55* tenMultiply;
            }
        }
        
        bw.write(sum+"\n");
        bw.flush();  
        bw.close();
    }
}
cs

반응형
반응형

1. 문제 : 2557번 Hello World : 출력의 기초가 되는 문제

많은 프로그래밍 언어 서적에서 맨 처음 소개하는 예제입니다. 

난이도 : 브론즈 V (solved.ac 티어)


문제 링크 : https://www.acmicpc.net/problem/2557


2. 문제 풀이

이 문제는 출력하는 방법을 알면 풀 수 있는 문제이다. 


3. 소스 코드 및 풀이 인증

 
1
2
3
4
5
6
7
8
public class Main{
 
    public static void main(String[] args) {
        System.out.print("Hello World!");
 
    }
 
}
cs

반응형
반응형

1. 문제 : 1000번 A+B : 두 숫자를 입력받아 더하고 출력하는 문제

난이도 : 브론즈 V (solved.ac 티어)


문제 링크 : https://www.acmicpc.net/problem/1000

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net


2. 문제 풀이

이 문제는 키보드를 이용해 숫자를 입력하는 방법과 출력하는 방법만 알면 풀 수 있는 문제이다.

Scanner(입력)에 더 자세한 설명 : https://programming-enjoy.tistory.com/7


3. 소스 코드 및 풀이 인증

1
2
3
4
5
6
7
8
public class Main{
    public static void main(String[] args) {
        java.util.Scanner in=new java.util.Scanner(System.in);
        int a=in.nextInt(); int b=in.nextInt();
        System.out.println(a+b);
        
    }
}
cs

 

반응형
반응형

1. 문제 : 1001번 A-B : 두 숫자를 입력받아 빼고 출력하는 문제

난이도 : 브론즈 V (solved.ac 티어)


문제 링크 : https://www.acmicpc.net/problem/1001


2. 문제 풀이

이 문제는 키보드를 이용해 숫자를 입력하는 방법과 출력하는 방법만 알면 풀 수 있는 문제이다.

Scanner(입력)에 더 자세한 설명 : https://programming-enjoy.tistory.com/7


3. 소스 코드 및 풀이 인증

1
2
3
4
5
6
7
8
public class Main{
    public static void main(String[] args) {
        java.util.Scanner in=new java.util.Scanner(System.in);
        int a=in.nextInt(); int b=in.nextInt();
        System.out.println(a-b);
        
    }
}
cs

 

반응형

+ Recent posts