일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mickito
- ADsP
- ADsP후기
- SQLD독학
- 데이터분석준전문가
- Tableau
- 태블로
- 파이썬
- 천안방탈출
- SQL개발자
- 데이터시각화
- sqld
- 백준
- 머신러닝
- SQLD단기합격
- 자율프로젝트
- BOJ10951
- listcomprehension
- 데이터분석
- 천안데이트
- 코딩테스트
- Python
- 비전공자SQLD독학
- SQLD공부
- ADsP공부
- 자바
- 방탈출
- 벡준1152
- spting
- SQLD노베이스
- Today
- Total
doistory
[BOJ][Python, Java] 백준10869번: 사칙연산 / 파이썬 map함수 이용하기 본문
10869번: 사칙연산
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
입력
두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)
출력
첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
예제 입력 1
7 3
예제 출력 1
10
4
21
2
1
Python 풀이 1
A, B = input().split()
print(int(A) - int(B))
print(int(A) * int(B))
print(int(A) // int(B))
print(int(A) % int(B))
처음에는 이렇게 풀었다. 그런데 print마다 매 번 int()를 쓰는게 넘 귀찮았다.
그래서 input을 받을 때 int로 받아올 수 없을까..? 고민 했다.
따라서 A, B = int(input().split()) 이렇게 작성했으나 오류가 발생했다 ^^
오류 원인:
input().split()에서 split()을 사용하면 문자열은 리스트로 return 된다. 그러나 리스트는 정수형으로 바꿀 수 없음
해결:
그러다 map()을 활용하여 더 간단하게 작성 할 수 있는 방법을 알게 되었다.
Python 풀이 2
함수 설명: map(적용할 함수, 반복 가능 자료형)
A, B = map(int, input().split())
print(A + B)
print(A - B)
print(A * B)
print(A // B) # 또는 print((int)(A / B))
print(A % B)
이렇게 작성하여 테스트케이스를 넣어보니..
예제 출력 1과 동일하게 출력 되었다.
python의 나누기 연산
파이썬의 나누기 연산은(/) 기본적으로 실수 출력이 되기 때문에.. 몫만 구하는 //연산을 사용하거나 int(A / B) int 형으로 변환을 해야한다. 아래 java에서는 그냥 / 로 해결되었던게 차이점이다.. 왜지..? 아직 잘 모르겠다 ㅜㅜ 이건 더 찾아서 공부해야 할 부분!
Java 풀이
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.println(A+B);
System.out.println(A-B);
System.out.println(A*B);
System.out.println(A/B);
System.out.println(A%B);
}
}
간단한 입출력에는 Scanner를 사용해도 된다고 한다. 아직 java문법을 잘 몰라서 아는 대로만 사용중이다.
더 열심히 공부해서 다른 방법들도 차차 배워가야지
※ 공부 내용에 대한 정정, 지적, 조언, 의견 모두 환영합니다.
'[ 공부중 ] > 코딩테스트' 카테고리의 다른 글
[BOJ][Python] 백준2743번: 단어 길이 재기 / Python에서 input() 대신 sys.stdin.readline() 사용시 주의점 (0) | 2023.12.28 |
---|---|
[BOJ][Python, Java] 백준2739번: 구구단 (0) | 2023.12.15 |
백준 java 제출시 컴파일 에러 (자바로 백준 풀 때 주의점)/ BOJ 백준1008번 (0) | 2023.12.12 |