본문 바로가기
반응형

전체 글340

[Backjoon] 2525번 문제 - 오븐 시계 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.풀이 분에 입력값으로 주어진 수를 더하고 60을 넘으면 시를 1 올려준다.입력값이 1000까지 이므로 분이 60범위 내에 들어올때까지 이를 수행해준다.시는 24를 넘으.. 2017. 6. 27.
[Backjoon] 11048번 문제 - 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다.준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (i, j)에 있으면, (i+1, j), (i, j+1), (i+1, j+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으로 나갈 수는 없다.준규가 (N, M)으로 이동할 때, 가져올 수 있는 사탕 개수의 최대값을 구하시오. 풀이재귀로 풀었다가 시간초과 걸려서 다시 문제를 풀었다. 백준 문제풀이는 시간초과가 있으니 입력값이 적당히 크다 싶으면 반복문으로 풀기 바란다.우선 누적.. 2017. 6. 27.
[Backjoon] 2309번 문제 - 일곱 난쟁이 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 풀이바보 같은 방법일수도 있지만 기본 컨셉은, 2개씩 뺀것의 합이 100이면해당 하는 배열의 값을 0으로 만들어 준 후 sort를 하고 2번인덱스부터 출력하는 것이다.간단하게 합을 구하기 위해서 배열을 stream으로 변경했다.이렇게 구해진 배열의 총 합에, 첫번째.. 2017. 6. 27.
[Backjoon] 10757번 문제 - 큰 수 A+B A+B를 계산하시오. 풀이 문제 설명만 봐서는 엄청 간단하지만입력으로 주어지는 A와 B의 범위가 10^10000 이기 때문에 일반적인 데이터형으로는 계산이 불가능하다.이러한 이유때문인지는 몰라도, 맥os나 안드로이드에서 기본적으로 주어지는 계산기에도 일정 범위 이상의 수는 합이나 곱의 계산이 불가능하다. 때문에 수를 그냥 받아오는 것이 아니라 문자형으로 받은 뒤 정수형 배열에 쪼개서 넣어준다.그리고 맨 첫자리와 첫자리가 대응되도록 더하기를 해주고 해당 인덱스에서 올림수가 발생하면 다음 배열로 넘기도록한다.이렇게 마지막 자리까지 덧셈이 완료되면, 결과값 배열을 출력해주면서 프로그램을 종료한다. 123456789101112131415161718192021222324252627282930313233343536.. 2017. 6. 27.
[Backjoon] 9656번 문제 - 돌 게임 2 돌 게임은 두 명이서 즐기는 재밌는 게임이다.탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 풀이완벽하게 게임한다는 가정하에 테이블로 승자를 계산해보자.주어진 수가 짝수이면 상근이가, 홀수이면 창영이가 승리한다는 것을 알 수 있다. 123456789101112131415161718import java.util.Scanner; /** * Created by homr on 2017. 6. 26.. */public class Main { public static void main(.. 2017. 6. 26.
[Backjoon] 5576번 문제 - 콘테스트 최근 온라인에서의 프로그래밍 콘테스트가 열렸다. W 대학과 K 대학의 컴퓨터 클럽은 이전부터 라이벌 관계에있어,이 콘테스트를 이용하여 양자의 우열을 정하자라는 것이되었다.이번이 두 대학에서 모두 10 명씩이 콘테스트에 참여했다. 긴 논의 끝에 참가한 10 명 중 득점이 높은 사람에서 3 명의 점수를 합산하여 대학의 득점으로하기로 했다.W 대학 및 K 대학 참가자의 점수 데이터가 주어진다. 이 때, 각각의 대학의 점수를 계산하는 프로그램을 작성하라. 풀이10명씩 배열에 저장한 후 정렬하여 가장 큰 수 3개를 합하고 출력한다. 123456789101112131415161718192021222324252627import java.util.Arrays;import java.util.Scanner; /** * C.. 2017. 6. 26.
[Backjoon] 2720번 문제 - 세탁소 사장 동혁 미국으로 유학간 동혁이는 세탁소를 운영하고 있다. 동혁이는 최근에 아르바이트로 고등학생 리암을 채용했다.동혁이는 리암에게 실망했다.리암은 거스름돈을 주는 것을 자꾸 실수한다.심지어 $0.5달러를 줘야하는 경우에 거스름돈으로 $5달러를 주는것이다!어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다.거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개.. 2017. 6. 25.
[Backjoon] 5717번 문제 - 상근이의 친구들 상근이의 남자 친구의 수와 여자 친구의 수가 주어졌을 때, 친구는 총 몇 명인지 구하는 프로그램을 작성하시오. 풀이 두 수의 합을 출력하고두수가 0일 때 반복문을 종료한다. 123456789101112131415161718192021import java.util.Scanner; /** * Created by homr on 2017. 6. 25.. */public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(true){ int boy = sc.nextInt(); int girl = sc.nextInt(); if(boy==0&&girl==0) break; System.out.prin.. 2017. 6. 25.
[Backjoon] 10995번 문제 - 별 찍기 - 20 예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 풀이 출력되는 줄을 홀짝 구분하여 앞에 공백을 하나 더 출력하거나 하지 않는다. 12345678910111213141516171819202122import java.util.Scanner; /** * Created by homr on 2017. 6. 25.. */public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i = 0; i 2017. 6. 25.
반응형