![[백준] 1008 - A/B](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6KeHm%2Fbtsyl3bGFgc%2FzxRyBWiEudZHbo08T9KHx0%2Fimg.png)
[백준] 1008 - A/B알고리즘/백준2023. 10. 12. 23:54
Table of Contents
• 문제
사칙연산중 나누기 연산을 계산하는 프로그램 문제이다.
• 풀이
덧셈, 나눗셈, 뺄셈 처럼 사칙연산이라고 먼저나왔던 사칙연산 문제들처럼 풀경우 원하는 출력값을 얻을 수 없을 것이다.
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.print(A/B);
}
}
나눗셈을 할 때, 4 / 2 = 2와 같이 몫이 나머지 없이 딱 떨어지는 경우도 있지만 값이 딱 떨어지지않고 나머지가 생기는 경우도 있다.
이 때 자바에서는 나머지를 어떻게 처리할까?
먼저 우리가 지금까지 사용한 변수는 모두 int타입으로 정수형이다. 말그대로 변수안에 정수만 담을 수 있고 소수는 담을 수 없다.
나눗셈과같이 소수점이 생기는 경우에는 변수를 int타입이아닌 float또는 double타입으로 선언해주어야한다.
만약, 10 / 4의 값을 int타입변수에 저장하게되면 2.5의 5는 버리고 정수인 2만 저장하게된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double A = sc.nextInt();
double B = sc.nextInt();
System.out.print(A/B);
}
}
변수 A,B를 int타입이아닌 double타입으로 변경해주면
위와 같이 옳바른 값을 얻을 수 있다.
•마무리
- Java의 좀 더 다양한 변수타입을 알게되었다.
- 소수점 계산을 할 때에는 변수선정에 주의가 필요하다.
이 카테고리에서는 알고리즘 문제를 중점으로 작성하는 글이기때문에 float와 double차이는 단순히 소수점을 저장할 수 있는 범위의 차이라고만 알고 있으면 될 것 같다.
float는 소수점아래 9자리, double은 소수점아래 18자리까지 표현할 수 있다.
또한 형변환과같은 Java의 기초적인 특성은 배제하고 설명하였다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10926 - ??! (1) | 2023.10.13 |
---|---|
[백준] 10869 - 사칙연산 (0) | 2023.10.13 |
[백준] 10998 - AXB (0) | 2023.10.12 |
[백준] 1001 - A-B (0) | 2023.10.12 |
[백준] 1000 - A+B (0) | 2023.10.12 |
@leegeonwoo :: geonwoo
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!