#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);
}
|
문제 설명
실수형(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);
}
}
|
'알고리즘 > 코드업' 카테고리의 다른 글
[Java] 코드업 (CodeUp) 자바 풀이 1051~1060 (0) | 2020.08.24 |
---|---|
[Java] 코드업 (CodeUp) 자바 풀이 1041~1050 (0) | 2020.08.03 |
[Java] 코드업 (CodeUp) 자바 풀이 1031~1040 (0) | 2020.07.09 |
[Java] 코드업 (CodeUp) 자바 풀이 1021~1030 (0) | 2020.05.15 |
[Java] 코드업 (CodeUp) 자바 풀이 1001~1010 (0) | 2020.04.23 |