블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
문제
원문: codeup.kr/problem.php?id=1008
이번에는 특수문자를 출력하는 연습을 해보자.
키보드로 입력할 수 없는 다음 모양을 출력해보자.
(** 참고 : 운영체제의 문자 시스템에 따라 아래와 같은 모양이 출력되지 않을 수 있다.)
┌┬┐
├┼┤
└┴┘
참고
다음과 같은 유니코드로 특수문자를 표현한다고 하자.
(운영체제 또는 컴파일러에 따라 사용되는 문자의 코드표가 다르다.)
윈도우에서는 "ㅂ+한자" 키를 누르면 선문자를 입력할 수 있다.
선문자를 이용하면 일반적인 텍스트 모드화면(메모장 등)에서도 표를 그릴 수 있다.
유니코드 특수문자를 출력하는 방법,
...
printf("\u250C\u252C\u2510\n");
...
┌┬┐
├┼┤
└┴┘
을 그려 출력하면 표처럼 선이 붙어 출력된다.
CLI 명령어 입출력 화면에서 표나 그림을 그리기 위해 사용되던 방법과 비슷하다.
입력
없음
출력
┌┬┐
├┼┤
└┴┘
Java 풀기
직접 위 특수문자를 입력하여 콘솔에 출력할 수도 있지만, 본 문제에서는 유니코드를 이용하여 출력하는것을 의도하여 문제를 출제했다.
Points
- Java에서는 유니코드를 출력하기 위해 \u를 앞에 붙이고, 그 뒤에 유니코드 값을 입력한다.
- 그리고, char 문자 타입으로 변수를 선언해야 한다.
public class Main {
public static void main(String[] args) {
final char[][] arr = {
{'\u250C', '\u252C', '\u2510'},
{'\u251C', '\u253C', '\u2524'},
{'\u2514', '\u2534', '\u2518'}
};
final StringBuilder sb = new StringBuilder();
for(char[] cs : arr) {
for (char c : cs) {
sb.append(c);
}
sb.append("\n");
}
System.out.println(sb.toString());
}
}
채점결과
위 풀이는 직접 풀어보고 채점까지 한 뒤에 확인하여 올린 코드입니다.
궁금한점이나 더 좋은 방법이 있다면 아래 댓글 달아주세요. 감사합니다.
관련 글
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
CodeUp 1011번 - 문자 1개 입력받아 그대로 출력하기 (Java 풀이) (0) | 2020.10.11 |
---|---|
CodeUp 1010번 - 정수 1개 입력받아 그대로 출력하기 (Java 풀이) (0) | 2020.10.11 |
CodeUp 1007번 - 출력하기07 (Java 풀이) (0) | 2020.10.11 |
CodeUp 1006번 - 출력하기06 (Java 풀이) (0) | 2020.10.11 |
CodeUp 1005번 - 출력하기05 (Java 풀이) (0) | 2020.10.11 |