https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
C
#include <stdio.h>
#include <string.h>
int main() {
char n1[4]; //첫번째 입력
char n2[4]; //두번째 입력
char temp1, temp2; //문자열을 뒤집을 때 사용할 변수
scanf("%s %s", n1, n2); // 문자열 두개 입력
temp1 = n1[0];
n1[0] = n1[2];
n1[2] = temp1; //첫번째 문자열 뒤집기
temp2 = n2[0];
n2[0] = n2[2];
n2[2] = temp2; //두번째 문자열 뒤집기
//strcmp로 문자열 비교하기
if (strcmp(n1, n2) > 0) //strcmp가 0보다 크면 n1이 더 큰 값
printf("%s", n1);
else //strcmp가 0보다 작거나 같으면(값이 같은 경우는 없다고 했으므로 무시)
printf("%s", n2); //n2가 더 클 경우
return 0;
}
strcmp(a,b)는 a와 b를 비교하는 함수
값이 0보다 크면 a > b이고, 0보다 작으면 a < b, a와 b가 같으면 0이 리턴된다.
java
문자열이 가변적이고 멀티쓰레드 환경이 아니라면 StringBuiller을 사용해보자.
package javastd1;
import java.util.Scanner;
public class bj2908 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n1 = sc.nextInt();
int n2 = sc.nextInt();
n1 = Integer.parseInt(new StringBuilder().append(n1).reverse().toString());
n2 = Integer.parseInt(new StringBuilder().append(n2).reverse().toString());
//문자열 반전을 위해 StringBuilder클래스의 reverse()메서드를 사용한다.
//reverse()로 문자열 반전 후
//toString()메서드로 StringBuiller 타입인 값을 문자열 객체를 가져온다.
//n1,n2는 int이므로 문자열로 가져온 값을 Integer.parseInt()로 타입을 변경한다.
if(n1>n2)
System.out.println(n1);
else
System.out.println(n2);
sc.close();
}
}
'공부하자 > 알고리즘' 카테고리의 다른 글
[백준] 2447번 별 찍기-10 C, java (0) | 2022.01.13 |
---|---|
[백준] 5622번 다이얼 C, java (0) | 2022.01.13 |
[백준] 1541번 잃어버린 괄호 C (0) | 2022.01.11 |
[백준] 3009번 네 번째 점 C, java (0) | 2022.01.08 |
[백준] 1085번 직사각형에서 탈출 C, java (0) | 2022.01.07 |