본문으로 바로가기
728x90

#1011

 

 

문제 설명   

문자형(char)으로 변수를 하나 선언하고, 변수에 문자를 저장한 후
변수에 저장되어 있는 문자를 그대로 출력해보자.

참고
char x;
scanf("%c", &x);
printf("%c", x);

와 같은 방법으로 가능하다.

입력

문자 1개가 입력된다.
(단, 입력되는 문자는 알파벳 대, 소문자 및 숫자를 비롯한 아스키코드로 표현할 수 있는 문자들만 입력된다.)


출력

입력된 문자를 그대로 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        //Scanner는 문자를 입력 받는 기능이 없다.
        Scanner sc=new Scanner(System.in);
        
        //방법 1
        String c=sc.next();
        char x=c.charAt(0);
        
        //방법 2
        //char x=sc.next().charAt(0);
        
        System.out.println(x);
        
        
    }
 
 
 

 

 

 
#1012

 

문제 설명   

실수형(float)로 변수를 선언하고 그 변수에 실수값을 저장한 후
저장되어 있는 실수값을 출력해보자.

참고
float x;
scanf("%f", &x);
printf("%f", x);
와 같은 방법으로 가능하다.

입력

실수값 1개가 입력된다.
(단, float로 저장할 수 있는 실수 값만 입력된다.)


출력

입력된 실수값을 그대로 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
        
        float x=sc.nextFloat();
        String s=String.format("%.6f", x);
        
        System.out.println(s);
        
        
    }
}
 

 

 

String.format을 입력하지 않았을 때, 오답이유를 보니 1.5400를 입력했을 때, 1.54로 출력되기 때문이라고 나왔다.

따라서, String.format메소드를 통해 소수점 자리수를 6자리로 맞춰준다.

 

 

#1013

 

 

문제 설명   

정수(int) 2개를 입력받아 그대로 출력해보자.

참고

int a, b;
scanf("%d%d", &a, &b);  //엔터/공백으로 입력 데이터가 구분되어 입력
printf("%d %d", a, b);

와 같은 방법으로 가능하다.

입력

2개의 정수가 공백으로 구분되어 입력된다.


출력

입력된 두 정수를 공백으로 구분하여 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
        
        int a=sc.nextInt();
        int b=sc.nextInt();
        
        System.out.println(a+" "+b);
        
        
    }
}
 

 

#1014

 

 

문제 설명   

2개의 문자(ASCII CODE)를 입력받아서 순서를 바꿔 출력해보자.

참고
char x, y;
scanf("%c %c", &x, &y);
printf("%c %c", y, x); //출력되는 순서를 작성
와 같은 방법으로 해결할 수 있다.

입력

2개의 문자가 공백으로 구분되어 입력된다.


출력

두 문자의 순서를 바꿔 출력한다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
                
        //방법1        
        String s=sc.nextLine();
        
        char x=s.charAt(0);
        char y=s.charAt(2);
        
        System.out.println(y+" "+x);
        
        //방법2
        //char a=sc.next().charAt(0);
        //char b=sc.next().charAt(0);
        //System.out.println(b+" "+a);
        
        
    }
}
 
 

 

 

#1015

 

 

문제 설명   

실수(float) 1개를 입력받아 저장한 후,
저장되어 있는 값을 소수점 셋 째 자리에서 반올림하여
소수점 이하 둘 째 자리까지 출력하시오.

참고
%.3f 와 같은 형식으로 지정하면,
소수점 이하 넷 째 자리에서 반올림하여 소수점 이하 셋 째 자리까지 출력하라는 의미이다.

입력

실수 1개가 입력된다.


출력

결과를 소수점 셋 째 자리에서 반올림 해, 소숫점 이하 둘째 자리까지 출력한다.
(%.2f를 이용하면 된다.)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
                
        float x=sc.nextFloat();
        
        System.out.println(String.format("%.2f", x));
        
    }
}
 
 

 

#1017

 

문제 설명   

int형 정수 1개를 입력받아 공백을 사이에 두고 3번 출력해보자.

참고
printf("%d %d %d", a, a, a);
와 같은 방법으로 출력할 수 있다.

입력

정수 1개가 입력된다.


출력

입력받은 정수를 공백으로 구분해 3번 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
                
        int a=sc.nextInt();
        
        System.out.println(a+" "+a+" "+a);
        
    }
}
 
 

 

#1018

 

문제 설명   

어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

참고
scanf( ) 함수는 지정한 형식(format)에 따라 입력받는 함수이다.
따라서, 입력받고자 하는 형식으로 표현해주면 된다.

예시
scanf("%d:%d", &h, &m); //콜론(:) 기호를 기준으로 두 수가 각 변수에 저장된다.

입력

시(hour)와 분(minute)이 ":" 으로 구분되어 입력된다.


출력

입력받은 시간을 "시:분" 형식으로 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;
 
public class Main{
    
    public static void main(String args[]) {
        
        Scanner sc=new Scanner(System.in);
                
        String a=sc.next();
        
        System.out.println(a);
    }
}
 

 

#1019

 

문제 설명   

년, 월, 일을 입력받아 지정된 형식으로 출력하는 연습을 해보자.

입력

연, 월, 일이 ".(닷)"으로 구분되어 입력된다.


출력

입력받은 연, 월, 일을 yyyy.mm.dd 형식으로 출력한다.
(%02d를 사용하면 2칸을 사용해 출력하는데, 한 자리 수인 경우 앞에 0을 붙여 출력한다.)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Scanner;
 
public class Main {
 
    public static void main(String args[]) {
 
        Scanner sc = new Scanner(System.in);
 
        String a = sc.next();
 
        String date[] = a.split("[.]");
        // split()을 이용해 .(닷)을 기준으로 문자열을 잘라 배열에 저장
        // 참고로 .(닷)을 기준으로 나눌때는 [.] 또는 \\.으로 해결
 
        int year = Integer.parseInt(date[0]);
        int month = Integer.parseInt(date[1]);
        int day = Integer.parseInt(date[2]);
 
        System.out.println(String.format("%04d.%02d.%02d", year, month, day));
 
    }
}
 

 

#1020

 

 

문제 설명   

주민번호는 다음과 같이 구성된다.

XXXXXX-XXXXXXX

앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코드이다.
주민번호를 입력받아 형태를 바꿔 출력해보자.

입력

주민번호 앞 6자리와 뒷 7자리가 '-'로 구분되어 입력된다.
(입력값은 가상의 주민번호이다.)
ex)110011-0000000


출력

'-'를 제외한 주민번호 13자리를 모두 붙여 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main {
 
    public static void main(String args[]) {
 
        Scanner sc = new Scanner(System.in);
 
        String a = sc.next();
 
        a=a.replaceAll("-""");
        //"-"문자열을 치환한다.
        
        System.out.println(a);
        
    }
}
 
 

 

 
 

 

 

 

 

 

 

 

 

728x90