memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

문제

원문: codeup.kr/problem.php?id=1008

 

[기초-출력] 출력하기08(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

codeup.kr

 

이번에는 특수문자를 출력하는 연습을 해보자.

키보드로 입력할 수 없는 다음 모양을 출력해보자.
(** 참고 : 운영체제의 문자 시스템에 따라 아래와 같은 모양이 출력되지 않을 수 있다.)

┌┬┐
├┼┤
└┴┘

참고
다음과 같은 유니코드로 특수문자를 표현한다고 하자.
(운영체제 또는 컴파일러에 따라 사용되는 문자의 코드표가 다르다.)



윈도우에서는 "ㅂ+한자" 키를 누르면 선문자를 입력할 수 있다.
선문자를 이용하면 일반적인 텍스트 모드화면(메모장 등)에서도 표를 그릴 수 있다.

유니코드 특수문자를 출력하는 방법,
...
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());
    }
}

 

채점결과

결과

 

위 풀이는 직접 풀어보고 채점까지 한 뒤에 확인하여 올린 코드입니다.

궁금한점이나 더 좋은 방법이 있다면 아래 댓글 달아주세요. 감사합니다.

 

관련 글

 

CodeUp Java로 기초 100제 풀어보기

문제의 저작권은 'CodeUp'에게 있습니다. 저작권 문제가 있는 경우, 바로 삭제하겠습니다. codeup.kr/index.php CodeUp ☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks  DEV C++ ☆ 추천 온라인..

memostack.tistory.com

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!