알고리즘 공부/정올 문제풀이 5

[정올] 1309 : 팩토리얼 -(JAVA)

1309 : 팩토리얼 문제 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다. 0! = 1 1! = 1 2! = 2 n! = n * (n-1)! : 와 같이 정의된다. 예로 4! = 4×3×2×1 = 24 이다. n! 이 주어졌을 때 결과를 출력하는 프로그램을 작성하라. * 결과가 int범위를 넘는 경우 자료형 long long 입력/출력 서식문자 %lld 를 사용한다. 입력형식 입력은 한 줄로 이뤄지며 팩토리얼의 숫자 n(1≤n≤15)이 입력된다. 출력형식 n!에 대한 계산 결과를 "출력예"처럼 과정을 출력하고 마지막에 결과를 출력한다. 풀이 import java.util.Scanner; public class J1309 { public static void main(Str..

[정올] 1534 : 10진수를 2,8,16진수로 - (JAVA)

정올 1534 : 10진수를 2,8,16진수로 문제 10진수를 입력 받아서 2, 8, 16진수로 바꾸어 출력하는 프로그램을 작성하시오. 입력형식 입력의 첫줄에는 10진수 N(1≤N≤100,000)과 바꿀 진수 B(2, 8, 16)가 공백으로 구분하여 입력된다. 16진수에서 10이상의 수는 순서대로 'A', 'B', 'C', 'D', 'E', 'F'로 나타낸다. 출력형식 입력받은 10진수를 B진수로 바꾸어 출력한다. 코드 방법은 두 가지로 풀 수 있다. 1. toBinaryString(int i) , toOctalString(int i) ,toHexaString(int i) 메서드 사용하기 2. 10진수, 8진수 16진수 출력으로 풀기 %d 10진(decimal)정수 형식으로 출력 %o 8진(octal)정..

[정올] 608 : 문자열2 - 자가진단7 (JAVA)

608 : 문자열2 - 자가진단7 제한시간1000 ms 메모리제한0 MB 해결횟수1164 회 시도횟수1767 회 목록 문제 100개 이하의 문자로 구성된 한 개의 문자열을 입력받아서 그 문자열에 문자 'c'와 문자열 "ab"의 포함여부를 "Yes", "No"로 구분하여 출력예처럼 출력하는 프로그램을 작성하시오. 입력 예복사하기 abdef 출력 예복사하기 No Yes contain() 메서드를 사용하면 해당 문자열이 있는지 쉽게 찾을 수 있다. import java.util.Scanner; public class J608 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine..

[정올] 2604 : 그릇 -JAVA

[정올] 2604 : 그릇 -JAVA 정올 Beginner_Coder 문자열 2604 문제 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다. 만일 그릇이 포개진 모양이 ((((와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어난 높이는 5+5+5..

[정올] 1658 : 최대공약수와최소공배수 - JAVA

1658 : 최대공약수와최소공배수 문제 두개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력형식 입력 파일의 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력형식 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 입력 24 18 출력 6 72 코드 import java.util.Scanner; public class J1658 { //1658 : 최대공약수와최소공배수 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num1 = sc.nextI..