public class Main {
	public static void main(String[] args) {
		System.out.println("         ,r'\"7");
		System.out.println("r`-_   ,'  ,/");
		System.out.println(" \\. \". L_r'");
		System.out.println("   `~\\/");
		System.out.println("      |");
		System.out.println("      |");
	}
}

 

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

곱셈  (0) 2022.06.15
나머지  (0) 2022.06.15
1998년생인 내가 태국에서는 2541년생?!  (0) 2022.06.15
??!  (0) 2022.06.15
사칙연산  (0) 2022.06.15

 

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.function.BiFunction;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
	
		int value1 = scanner.nextInt();
		int value2 = scanner.nextInt();
		
		BiFunction<Integer, Integer, List<Integer>>  biFunc = 
				(val1,val2)->{
					List<Integer> list = new ArrayList<Integer>();
					int val001 = val2%10;
					int val010 = val2/10%10;
					int val100 = val2/100;
					
					list.add( val1*val001);
					list.add( val1*val010);
					list.add( val1*val100);
					list.add( val1*val2);
					
					return list;
				};
		List<Integer> resultList = calc(value1, value2, biFunc);

		for(Integer val : resultList) {
			System.out.println(val);
		}
		

	}

	public static List<Integer> calc(int a, int b, BiFunction<Integer, Integer, List<Integer>> biFunc){
		return biFunc.apply(a, b);
	}
}

핵심

자바의 정수형 연산 시 소수점 버림 활용 법

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

새싹  (0) 2022.06.15
나머지  (0) 2022.06.15
1998년생인 내가 태국에서는 2541년생?!  (0) 2022.06.15
??!  (0) 2022.06.15
사칙연산  (0) 2022.06.15

문제


(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?

(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?

세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.

 

입력


첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

 

출력


첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.

 

예시


입력 : 5  8  4

출력 

1

1

0

0

 

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.function.Function;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		List<Integer> intList = new ArrayList<Integer>();
		intList.add(scanner.nextInt());
		intList.add(scanner.nextInt());
		intList.add(scanner.nextInt());

		System.out.println(calc(intList, (list) -> {
			int A = list.get(0);
			int B = list.get(1);
			int C = list.get(2);
			return (A + B) % C;
		}));
		System.out.println(calc(intList, (list) -> {
			int A = list.get(0);
			int B = list.get(1);
			int C = list.get(2);
			return ((A%C) + (B%C))%C;
		}));
		System.out.println(calc(intList, (list) -> {
			int A = list.get(0);
			int B = list.get(1);
			int C = list.get(2);
			return (A*B)%C;
		}));
		System.out.println(calc(intList, (list) -> {
			int A = list.get(0);
			int B = list.get(1);
			int C = list.get(2);
			return  ((A%C) * (B%C))%C;
		}));

	}

	public static int calc(List<Integer> intList, Function<List<Integer>, Integer> func) {
		return func.apply(intList);
	}
}

핵심

알고리즘보다 자바8에 도입된 함수형 프로그래밍 개념을 사용

메서드를 값으로 다뤄 매개변수로 넣었음. 

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

새싹  (0) 2022.06.15
곱셈  (0) 2022.06.15
1998년생인 내가 태국에서는 2541년생?!  (0) 2022.06.15
??!  (0) 2022.06.15
사칙연산  (0) 2022.06.15

문제


ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다.

불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오.

 

입력


서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)

 

출력


불기 연도를 서기 연도로 변환한 결과를 출력한다.

 

예시


입력 : 2541

출력 : 1998

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println(scanner.nextInt()-543);
		
	}
	
}

핵심

예시를 보고 보정 값인 -543을 구하기

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

곱셈  (0) 2022.06.15
나머지  (0) 2022.06.15
??!  (0) 2022.06.15
사칙연산  (0) 2022.06.15
A/B  (0) 2022.06.15

문제


준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.

입력


첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.

출력


첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.

예시


입력값 : wow

출력값 : wow??!

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		String id1 = scanner.next();
		
		System.out.println(appendString(id1));
		
		
    }
	
	public static String appendString(String str) {
		return new StringBuffer(str).append("??!").toString();
	}
	
}

핵심

문자열 결합은 StringBuffer를 사용하는 것이 좋다. String은 변경불가능한 상수로 매번 새로운 객체가 생성되지만, StringBuffer는 문자 그대로 내부에 Buffer가 있어 불필요한 새로운 객체 생성이 없다.

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

나머지  (0) 2022.06.15
1998년생인 내가 태국에서는 2541년생?!  (0) 2022.06.15
사칙연산  (0) 2022.06.15
A/B  (0) 2022.06.15
AxB  (0) 2022.06.15
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
    
		int number1 = scanner.nextInt();
		int number2 = scanner.nextInt();
		
		System.out.println(add(number1, number2));
		System.out.println(subtraction(number1, number2));
		System.out.println(multi(number1, number2));
		System.out.println(division(number1, number2));
		System.out.println(mod(number1, number2));
    }
	
	public static int add(int number1, int number2) {
		return number1+ number2;
	}
	public static int subtraction(int number1, int number2) {
		return number1- number2;
	}
	public static int multi(int number1, int number2) {
		return number1* number2;
	}
	public static int division(int number1, int number2) {
		return number1/ number2;
	}
	public static int mod(int number1, int number2) {
		return number1% number2;
	}
	
}

핵심

나누기 / 와 나머지 % 구분

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

1998년생인 내가 태국에서는 2541년생?!  (0) 2022.06.15
??!  (0) 2022.06.15
A/B  (0) 2022.06.15
AxB  (0) 2022.06.15
A-B  (0) 2022.06.15
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
    
        System.out.println(scanner.nextDouble()/scanner.nextDouble());
    }
}

핵심

나누기는 /   

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

??!  (0) 2022.06.15
사칙연산  (0) 2022.06.15
AxB  (0) 2022.06.15
A-B  (0) 2022.06.15
A+B  (0) 2022.06.15
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
    
        System.out.println(scanner.nextInt()*scanner.nextInt());
    }
}

핵심

Java에서 곱하기는 * 

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

사칙연산  (0) 2022.06.15
A/B  (0) 2022.06.15
A-B  (0) 2022.06.15
A+B  (0) 2022.06.15
  (0) 2022.06.15
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
    
        System.out.println(scanner.nextInt()-scanner.nextInt());
    }
}

핵심

입력 값을 Scanner로 받는다.

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

A/B  (0) 2022.06.15
AxB  (0) 2022.06.15
A+B  (0) 2022.06.15
  (0) 2022.06.15
고양이  (0) 2022.06.15
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
        int value1 = scanner.nextInt();
        int value2 = scanner.nextInt();

        int answer = value1 + value2;

        System.out.println(answer);
    }
}

핵심

백준사이트는 입력 값은 Scanner로 받는다. 

'자료구조&알고리즘 > 입출력과 사칙연산' 카테고리의 다른 글

AxB  (0) 2022.06.15
A-B  (0) 2022.06.15
  (0) 2022.06.15
고양이  (0) 2022.06.15
We love kriii  (0) 2022.06.15

+ Recent posts