Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Spring
- 레이어팝업
- 반복문
- node.js
- for
- 모달팝업
- 백준
- URL생성
- 자바실습문제
- 레이어팝업URL
- 자바연산자
- KH정보교육원
- 배열
- LV1
- berak
- dowhile
- 자바
- 문제풀이
- 2차원배열
- 자바변수
- 적용
- 프로그래머스
- 분기문
- CONTINUE
- array
- express
- while
- Java
- 정적파일
- 키패드
Archives
- Today
- Total
까잉이의 개발노트
[ 백준 2908 ] 상수 JAVA(자바) 문제풀이 본문
상수는 수학을 못 한다고 하지만...사실 이걸 거꾸로 읽은 다음에 큰 수를 말하는 정도면 천재 아닌가..?🤔
암튼 나는 또 구구절절한 코드로 풀었는데..다 풀고 나서 엄청 간단하게 푼 분의 코드를 봤다..
나도 코드를 짧게 쓰고 싶다ㅠㅠ (개발 공부하자 까잉아...)
풀이순서
1. 입력받은 두 수를 for문을 통해 int 배열에 넣는데 각 10을 나눈 나머지로 넣는다
그러면 일의 자리 수 부터 배열에 들어가기 때문에 숫자가 뒤집어진 것 같이 넣어진다
ex) 734 → {4, 3, 7}
2. 배열을 다시 int로 변환해야하기 때문에 num1, num2를 0으로 초기화를 해준다
3. for문을 통해 각 num1, num2를 10을 곱한 다음 배열에 있는 값을 더해준다.
그러면 배열의 순서대로 숫자가 출력된다
ex) {4, 3, 7} → 437
4. num1과 num2를 비교해 수가 큰걸 출력한다
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int[] arr1 = new int[3];
int[] arr2 = new int[3];
for(int i = 0; i < 3; i++) {
arr1[i] = num1 % 10;
arr2[i] = num2 % 10;
num1 /= 10;
num2 /= 10;
}
num1 = 0;
num2 = 0;
for(int i = 0; i < 3; i++) {
num1 *= 10;
num2 *= 10;
num1 += arr1[i];
num2 += arr2[i];
}
if(num1 > num2) {
System.out.println(num1);
}else {
System.out.println(num2);
}
}
}
나의 풀이는 이렇게 구구절절 한데
풀고나서 다른 사람의 풀이를 보니까 이러했다
풀이순서
1. StringBuilder를 선언해서 .append()로 입력받은 값을 추가한다
2. .reverse()해서 값을 반대로 뒤집어 준다
3. int로 파싱한 다음 값을 삼항연산자로 비교해 출력한다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b= s.nextInt();
s.close();
a = Integer.parseInt(new StringBuilder().append(a).reverse().toString());
b = Integer.parseInt(new StringBuilder().append(b).reverse().toString());
System.out.print(a>b?a:b);
}
}
이렇게나 깔끔하게 풀 수 있다니..
StringBuilder에 .reverse()라는 함수가 있는지도 처음 알았다
역시 아는 만큼 짧은 코드를 짤 수 있나보다👍
'개발문제풀이' 카테고리의 다른 글
[ 백준 2941 ] 크로아티아 알파벳 JAVA(자바) 문제풀이 (0) | 2022.07.28 |
---|---|
[ 백준 5622 ] 다이얼 JAVA(자바) 문제풀이 (0) | 2022.07.28 |
[ 백준 1152 ] 단어의 개수 JAVA(자바) 문제풀이 (0) | 2022.07.11 |
[ 백준 1157 ] 단어 공부 JAVA(자바) 문제풀이 (0) | 2022.07.11 |
[ 백준 10809 ] 알파벳 찾기 JAVA(자바) 문제풀이 (0) | 2022.07.01 |
Comments