코딩테스트

    1145번 / 적어도 대부분의 배수

    1145번 / 적어도 대부분의 배수

    문제 내용 다섯 개의 자연수가 있다. 이 수의 적어도 대부분의 배수는 위의 수 중 적어도 세 개로 나누어지는 가장 작은 자연수이다. 서로 다른 다섯 개의 자연수가 주어질 때, 적어도 대부분의 배수를 출력하는 프로그램을 작성하시오. 입출력 1. 입력 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. 2. 출력 첫째 줄에 적어도 대부분의 배수를 출력한다. 예제 입력 출력 30 42 70 35 90 210 1 2 3 4 5 4 30 45 23 26 56 1170 3 14 15 92 65 195 풀이 처음 문제를 봤을 때 최소공배수를 이용하는 문제라는 것을 바로 알게 됐다. 문제 해결 방식으로 공약수로 세 수를 동시에 나눠서, 공약수와 나눈 서로소를 곱하는 것을 채..

    1032번 / 명령프롬포트

    1032번 / 명령프롬포트

    문제 내용 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉터리에 있는 서브 디렉터리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *. exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. ..

    2475번 / 검증수

    2475번 / 검증수

    문제 내용 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다. 예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81을 10으로 나눈 나머지인 1이 검증수이다. 입출력 1. 입력 첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다. 2. 출력 첫째 줄에 검증수를 출력한다. 풀이 배열로 5번 루프를 해서 받거나 여러 방법을 생각할 수 있지만, 젤 간단하게..

    2338번 / 긴자리계산

    2338번 / 긴자리계산

    문제 내용 두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오. 입출력 1. 입력 첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다. 2. 출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). 풀이 1271번 엄청난 부자와 같은 문제다. BigInteger를 활용하는 문제다. 각각의 수는 10진수로 1000자리를 넘지 않으며 따라서 풀면 import java.math.BigInteger; import java.util.Scanner; public cl..

    1550번 / 16진수

    1550번 / 16진수

    문제내용 16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오. 입출력 1. 입력 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0 9와 A F로 이루어져 있고, A F는 10 15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. 2. 출력 첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다. 풀이 굉장히 간단한 문제다. Integer클래스를 잘 활용하면 된다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String hex = scanner.next(); /..

    1271번 / 엄청난 부자

    1271번 / 엄청난 부자

    문제 설명 갑부 최백준 조교는 동전을 최소로 바꾸는 데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다. 그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다. 프로토스 중앙 우주 정부의 정책인, ‘모든 지적 생명체는 동등하다’라는 규칙에 입각해서 돈을 똑같이 분배하고자 한다. 한 생명체에게 얼마씩 돈을 줄 수 있는가? 또, 생명체들에게 동일하게 분배한 후 남는 돈은 얼마인가? 입출력 1. 입력 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) 2. 출력 첫 번째 줄에 생명체 하나에게 돌아가는 돈의 양을 출력한다..