반응형
■ 중기 목표: Java로 삼성 SW 테스트 A형 취득
기초 100제 C로 풀었던 입출력 문제를 다시 자바로 풀어 보았다.
codeup.kr/problemsetsol.php?psid=23
문제집 / 기초 100제
codeup.kr
주요했던 포인트
1021: 문장 1개 입력받아 그대로 출력하기
Scanner 클래스에서 nextLine()을 입력해야 문장 전체를 입력받을 수 있다. next()는 공백 기준으로 잘린다.
1024: 단어 1개 입력받아 나누어 출력하기
Scanner를 통해 String 변수로 단어를 받은 다음, split("")으로 쪼개서 배열에 담았다.
이것 말고도 더 많은 방법이 있을 텐데, 나중에 고민해 보자.
import java.util.Scanner;
public class codeup1024 {
public static void main(String[] args) {
String word;
Scanner scan = new Scanner(System.in);
word = scan.next();
String[] array_word = word.split("");
for (int i = 0;i<array_word.length; i++) {
System.out.printf("\'%s\'", array_word[i]);
System.out.println();
}
}
}
1025: 정수 1개 입력받아 나누어 출력하기
split 함수를 int에 사용할 수 없는 이유 -> split 메서드는 String 클래스 안에 있다.
문제는 다섯 자리의 정수에 대해서 하라고 했는데, 나는 어떤 정수를 주든 전부 결과를 내고 싶었다.
그래서 자릿수에 따라 0이 붙도록 Math.pow를 이용해 제곱을 해 주었음.
import java.util.Scanner;
public class codeup1025 {
public static void main(String[] args) {
String number;
Scanner scan = new Scanner(System.in);
number = scan.next();
// 전체 숫자를 String 변수로 받아 주었다. split을 쓰기 위함.
String[] array_number = number.split("");
// split 메서드를 사용해 1개씩 잘라서 배열에 담았다.
for (int i=0; i<array_number.length; i++) {
System.out.printf("[%.0f]",
// 아래 이용한 Math.pow 때문에 double 값이 되어서 소수점 절삭
Integer.parseInt(array_number[i])
// 배열에 담은 하나씩
* Math.pow(10, (array_number.length-(i+1) )));
// 자릿수를 맞추어 주기 위해서 10의 자릿수 - i+1 제곱을 함
// i+1인 이유는 1의 자리를 맞춰 주기 위함임
System.out.println();
}
}
}
C와 자바의 자료형 크기가 다르다 보니 뒤 문제들은 long과 double로 다 풀렸다. 뭐지?
<참고했던 사이트>
1021: Scanner - nextLine() next()의 차이:
1024: String 한 글자씩 배열에 담는 여러 가지 방법
Etc.
이클립스에서 변수명 일괄 변경하기 - 더블클릭 뒤 [Alt + shift + R]
반응형
'자린고비 독학하기 > 자린고비 코딩하기' 카테고리의 다른 글
코딩 테스트 공부 시작 Java 04일 차 - Codeup 100제 (~1050) (0) | 2020.09.15 |
---|---|
코딩 테스트 공부 시작 Java 03일 차 - Codeup 100제 (~1040) (0) | 2020.09.14 |
코딩 테스트 공부 시작 Java 01일 차 - Codeup 100제 (~1020) (0) | 2020.09.10 |
코딩 테스트 공부 시작 - 커리큘럼 작성 (0) | 2020.09.10 |
Computer Science Studying Curriculum (0) | 2020.08.03 |