Algorithm Study/Java

[코드업 자바] # 1076 [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기

728x90
반응형

코드업 자바

# 1076 [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기

 

링크 : https://codeup.kr/problem.php?id=1076

 

[기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(설명)

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

codeup.kr

 

 

내 풀이

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int a = "a".charAt(0);
        int n = sc.next().charAt(0);
        for (int i = a; i < n; i++)
            {
            char ch = (char) i;
            System.out.print(ch+" ");
            }
        System.out.print((char)n);
    }
}

 

  • 머리가 나쁘면... 몸이 고생한다..

 

Good Code

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        char t = sc.next().charAt(0);
        char a = 'a';

        while(a<=t)
        {
            System.out.print(a+" ");
            a++;
        }
    }
}

 

  • 사실 이 방식으로 풀면 "a b c d e f "와 같이 f 이후 띄어쓰기가 한칸 더 기록되어 있긴 하다 (정답처리 o)

 

※ 쌍따옴표와 따옴표의 차이

  • 문자열을 입력하고 싶을 때는 쌍따옴표를 사용한다
  • 따옴표를 사용하면 문자에 대한 아스키코드를 이용 (int a = 'a' 를 sysout 해보면 97이 정상적으로 출력)