본문 바로가기
IT 이야기/알고리즘

C++ / Java / 파이썬 반복문 문법 코딩 방법

by youngmap 2023. 1. 11.
반응형

백준 25304번 영수증을 풀면서 각 언어별로 반복문 문법 코딩 방법을 알아봅시다.

 

반복문을 사용하는 문제입니다.

 

https://www.acmicpc.net/problem/25304

 

25304번: 영수증

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것

www.acmicpc.net

 

영수증에 적힌 총 금액이 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")

 

반응형