CodeUP(코드업) 코딩테스트 문제 1021~1030
No. 1021
설명: 1개의 단어를 입력받아 그대로 출력해보자.
입력: 한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.)
출력: 입력된 단어를 그대로 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String str = s.next();
//만약 공백이 포함된 문자열이라고 한다면 s.nextLine(); 사용
System.out.println(str);
}
}
No. 1023
설명: 실수 1개를 입력받아 정수 부분과 실수 부분으로 나누어 출력한다. 여러 가지 방법들로 해결할 수 있다. 만약 실수 부분이 0으로 시작하지 않는다면(예를 들어 1.000009)
scanf("%d.%d", &a, &b)도 하나의 방법이 될 수 있다.
입력: 실수 1개가 입력된다.(단, 입력값은 절댓값이 10000을 넘지 않으며, 소수점 이하 자릿수는 최대 6자리까지이고 0이 아닌 숫자로 시작한다.)
출력: 첫 번째 줄에 정수 부분을, 두 번째 줄에 실수 부분을 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String num = s.next();
String[] number = num.split("\\\\.");
System.out.println(number[0]);
System.out.println(number[1]);
}
}
No. 1024
설명: 단어를 1개 입력받는다. 입력받은 단어(영어)의 각 문자를 한줄에 한 문자씩 분리해 출력한다.
입력: 단어(영어) 하나를 입력받는다.(단, 단어의 길이는 20자 이하이다.)
출력: 단어의 문자(영어)를 하나씩 나누어 한 줄에 한 개씩 ' '로 묶어서 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String str = s.next();
for(int i=0; i < str.length(); i++) {
System.out.println("'"+str.charAt(i)+"'");
}
}
}
No. 1025
설명: 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력한다.
입력: 다섯 자리로 이루어진 1개의 정수를 입력받는다. (단, 10,000 <= 입력받는 수 <= 99,999 )
출력: 각 자리의 숫자를 분리해 한 줄에 하나씩 [ ]속에 넣어 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
int number = s.nextInt();
int x = 10000, showNum=0;
while(x > 0) {
showNum = (number / x)*x;
System.out.println("["+showNum+"]");
x /= 10; number -= showNum;
}
}
}
No. 1026
설명: 입력되는 시:분:초 에서 분만 출력해보자.
입력: 시 분 초가 시:분:초 형식으로 입력된다.
출력: 분만 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String str = s.next();
System.out.println(Integer.valueOf(str.split(":")[1]));
}
}
No. 1027
설명: 년월일을 출력하는 방법은 나라마다, 형식마다 조금씩 다르다. 년월일(yyyy.mm.dd)를 입력받아, 일월년(dd-mm-yyyy)로 출력해보자.(단, 한 자리 일/월은 0을 붙여 두자리로, 년도도 0을 붙여 네자리로 출력한다.)
입력: 년월일이 '.'(닷)으로 구분되어 입력된다.
출력: 년월일을 일월년으로 바꾸어 '-'(대쉬, 마이너스)로 구분해 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String str = s.next();
String[] date = str.split("\\\\.");
int year = Integer.valueOf(date[0]);
int mon = Integer.valueOf(date[1]);
int day = Integer.valueOf(date[2]);
System.out.println(String.format("%02d-%02d-%04d", day, mon, year));
}
}
No. 1028
설명: 정수 1개를 입력받아 그대로 출력해보자.(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)
입력: 정수 1개가 입력된다. (단, 입력되는 정수의 범위는 0 ~ 4294967295 이다.)
출력: 입력된 정수를 그대로 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
String num = s.next();
int vInt = Integer.parseUnsignedInt(num); // -2147483648
System.out.println(Integer.toUnsignedString(vInt)); //2147483648
}
}
No. 1029
설명: 실수 1개를 입력받아 그대로 출력해보자.
입력: 소수점 아래 숫자가 11개 이하인 실수 1개가 입력된다.
출력: 입력된 실수를 소수점 이하 11자리까지 반올림하여 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
Double d = s.nextDouble();
System.out.println(String.format("%.11f", d));
}
}
No. 1030
설명: 정수 1개를 입력받아 그대로 출력해보자. 단, 입력되는 정수의 범위는 9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 이다.
입력: 정수 1개가 입력된다.
출력: 입력된 정수를 그대로 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] srgs) {
Scanner s = new Scanner(System.in);
long num = s.nextLong();
System.out.println(num);
}
}