반응형
백준 25304번 영수증을 풀면서 각 언어별로 반복문 문법 코딩 방법을 알아봅시다.
반복문을 사용하는 문제입니다.
https://www.acmicpc.net/problem/25304
영수증에 적힌 총 금액이 X 입니다.
다음 줄은 물품 개수가 나옵니다.
물품 개수만큼 물건의 가격과 수량이 반복됩니다.
예제를 봅시다.
총 금액과 각 물건 가격 곱하기 수량의 합을 비교하여 같으면 Yes, 다르면 No를 출력하는 문제입니다.
260,000 = 20,000 * 5 + 30,000 * 2 + 10,000 * 6 + 5,000 * 8
1. C++
특별히 어려운 부분은 없는 문제입니다.
반복문 for 을 이용합니다.
#include <stdio.h>
int main(void){
int X, N, a, b;
int total = 0;
scanf("%d", &X);
scanf("%d", &N);
for (int i = 0; i < N; i++){
scanf("%d %d", &a, &b);
total += (a * b);
}
if (X == total) {
printf("Yes");
} else {
printf("No");
}
return 0;
}
2. JAVA
C++ 풀이와 거의 유사합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int X = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
int total = 0;
for(int i = 0; i < N; i++){
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
total += (a * b);
}
if (X == total) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
3. Python 파이썬
파이썬의 반복문 문법은 C++ , Java 와 조금 다릅니다.
for 변수 in range (숫자):
if 문을 한줄에 표현하는 "조건부 표현식"을 사용했습니다.
[참일때실행] if [참] else [거짓일때실행]
X = int(input())
total = 0
for i in range(int(input())):
a, b = map(int, input().split())
total += (a * b)
print("Yes") if total == X else print("No")
반응형
'IT 이야기 > 알고리즘' 카테고리의 다른 글
숫자 카운팅 알고리즘 C++ / Java / 파이썬 시간복잡도 (0) | 2023.01.13 |
---|---|
C++ / Java / 파이썬 빠른 입출력 알고리즘 대회 (0) | 2023.01.11 |
C++ / Java / 파이썬 그레고리력 윤년 계산 (0) | 2023.01.10 |
알고리즘 두 수 크기 비교 조건문 C++ / Java / 파이썬 (0) | 2023.01.10 |
알고리즘 숫자 계산 수학 문제 C++ / Java / 파이썬 (0) | 2023.01.09 |