반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 for문 빠른 A+B ( 문제 번호 : 15552 )의 소스입니다.

 

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

   * 기존에 사용하던 Scanner, sysout 말고 BufferedReader, BufferedWriter을 사용하는게 포인트였고,

      StringTokenizer을 사용하여 한 줄로 받은 a, b를 나누어 계산할 수 있도록 함

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
		int T = Integer.parseInt(read.readLine());
		
		for(int i=0; i< T; i++){
			StringTokenizer st = new StringTokenizer(read.readLine());
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			writer.write((a+b)+ "\n");
		}
		read.close();
		writer.close();
	}
}

 

2) PYTHON

import sys
T = int(sys.stdin.readline())
for i in range(T):
    a, b = map(int, sys.stdin.readline().split())
    print(a+b)

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 for문 합 ( 문제 번호 : 8393 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();		
		scan.close();
		int a = 0;
		for(int i=1; i<n+1; i++){
			a +=i;
		}
		System.out.println(a);
	}
}

 

2) PYTHON

n = int(input())
a = 0
for i in range(n+1):
    a += i
print(a)

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 for문 A+B - 3 ( 문제 번호 : 10950 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = Integer.parseInt(scan.nextLine());
		
		for(int i=0; i<N;i++){
			int a = scan.nextInt();
			int b = scan.nextInt();
			System.out.println(a+b);
		}
		scan.close();
	}
}

 

2) PYTHON

n = int(input())
for i in range(n):
    a, b = map(int, input().split())
    print(a+b)

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘 for문 구구단 ( 문제 번호 : 2739 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

1) JAVA

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		scan.close();
		
		for(int i=1; i < 10; i++){
			System.out.println(N +" * " + i + " = "+ (N*i));
		}
		
	}
}

 

2) PYTHON

   * range 사용시 9까지 원한다면 range(1, 10) 해야 하는 부분 생각하기

N = int(input())
for i in range(1, 10):
    print(N, '*', i, '=', N*i)

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘로 단계별로 풀어보기의 두번째 목차인

if문 마지막 문제인 알람 시계 ( 문제 번호 : 2884 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

[ 추가 테스트 케이스 ]

* 0 50 -> 0 5

* 1 45 -> 1 0

 

1) JAVA

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int H = scan.nextInt();
		int M = scan.nextInt();
		scan.close();

		if(M -45 > -1){
			M -= 45;
		}else{
			H --;
			M += 15;
		}
		
		if(H == -1){
			H = 23;
		}
		System.out.println(H+" "+M);
	}
}

 

2) PYTHON

   * 시간계산을 -45분 or + 15분으로 해서 계산할 수도 있지만 datetime을 사용해보고 싶어 사용해봄

     메모리는 37644KB / 시간은 156ms 걸렸고 같은python으로 하신 분들은 메모리는 29380KB / 시간은 64ms가

     걸린 것으로 보아 datetime으로 하는 것 보다는 직접 계산을 하는게 메모리나 시간이 덜 걸리는 것 같다.

import datetime
H, M = input().split()

if int(H) < 10:
    H = '0' + str(H)

time = datetime.datetime.strptime(H+M, '%H%M') - datetime.timedelta(minutes=45)

print(time.timetuple().tm_hour, time.minute)

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘로 단계별로 풀어보기의 두번째 목차인

if문 중 사분면 고르기 ( 문제 번호 : 14681 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int x = scan.nextInt();
		int y = scan.nextInt();
		scan.close();

		if(x>0){
			if(y>0){
				System.out.println("1");
			}else{
				System.out.println("4");
			}
		}else{
			if(y>0){
				System.out.println("2");
			}else{
				System.out.println("3");
			}
		}
	}
}

 

2) PYTHON

x = int(input())
y = int(input())

if x > 0:
    if y > 0:
        print('1')
    else:
        print('4')
else:
    if y > 0:
        print('2')
    else:
        print('3')

 

여러분도 한번 풀어보세요!

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘로 단계별로 풀어보기의 두번째 목차인

if문 중 윤년 ( 문제 번호 : 2753 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

 

1) JAVA

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		scan.close();

		if(a%4==0 && ( a%100!=0 || a%400==0)){
			System.out.println("1");
		}else{
			System.out.println("0");
		}
	}
}

 

2) PYTHON

a = int(input())

if a%4 ==0 and (a%100!=0 or a%400==0) :
    print('1')
else :
    print('0')

 

여러분도 한번 풀어보세요!

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘로 단계별로 풀어보기의 두번째 목차인

if문 중 시험 성적( 문제 번호 : 9498 )의 소스입니다.

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		scan.close();

		if(a>=90){
			System.out.println("A");
		}else if(a>=80){
			System.out.println("B");
		}else if(a>=70){
			System.out.println("C");
		}else if(a>=60){
			System.out.println("D");
		}else{
			System.out.println("F");
		}
	}
}

 

2) PYTHON

a = int(input())
if a >= 90 :
    print('A')
elif a>=80 :
    print('B')
elif a>=70 :
    print('C')
elif a>=60 :
    print('D')
else :
    print('F')

 

여러분도 한번 풀어보세요!

반응형

+ Recent posts