자바 백준 12778번
브론즈 2
https://www.acmicpc.net/problem/12778
문제 보기
분류: 구현
문제 풀기
알파벳과 그에 대응하는 숫자를 일치시키기 위해 ASCII 코드표를 이용한다.
대문자 A 는 ASCII 10 진법으로 변환시 65 에 해당한다.
A 를 1 과 대응시키기 위해 "A" 이전의 문자를 알아보면, 그것은 "@" 이며 ASCII 10 진법으로 표현시 64 이다.
문자를 결정하는 "C" 가 입력되었을 때에는 다음줄에 입력되는 각 문자들을 char 타입으로 입력받고 char 타입의 '@' 과 뺄셈 연산으르 하여 입력된 문자에 대응하는 숫자를 구한다.
숫자르르 결정하는 "N" 이 입력되었을 때에는 다음줄에 입력되는 각 숫자에 64 를 더한 후 (char) 타입 형변환을 시행한다.
이렇게 서로 대응하는 문자 또는 숫자를 구하고 답안이 원하는 출력 형식에 맞춰 제출한다.
백준에서 이 문제의 경우 답안 각 줄의 맨뒤 하나의 빈칸과 맨 마지막줄 개행에 의해 생성되는 빈 줄은 답안에 영향을 주지 않는것이 확인되었다.
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int testCase = sc.nextInt();
for (int i = 0; i < testCase; i++) {
int m = sc.nextInt();
String thisType = sc.next();
for (int j = 0; j < m; j++) {
if (thisType.equals("C")) {
char c = sc.next().charAt(0);
System.out.print( (c - '@' + " ") );
}
else if (thisType.equals("N")) {
int n = sc.nextInt();
System.out.print( ( (char)(n + 64) + " " ) );
}
}
System.out.println();
}
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 4592 - 중복을 없애자 (0) | 2023.04.17 |
---|---|
[Java] 백준 풀기 13118 - 뉴턴과 사과 (0) | 2023.04.16 |
[Java] 백준 풀기 2975 - Transactions (0) | 2023.04.14 |
[Java] 백준 풀기 13698 - Hawk eyes (0) | 2023.04.13 |
[Java] 백준 풀기 20976 - 2 番目に大きい整数 (The Second Largest Integer) (0) | 2023.04.12 |