본문 바로가기

프로그래밍98

백준 알고리즘 2292번 문제 풀이 - 벌집 육각형을 이루어진 벌집에서 N번째 벌집으로 가기위해 몇개의 방을 지나쳐야 하는지 푸는 문제입니다. 이 문제를 풀기 위하여 일정하게 증가하는 값이 있는지 찾아 보았습니다. 육각을 기준으로 하여 첫 번째는 방이 1개 두 번째는 방이 7개 (안쪽을 제외하고 겉에 있는 방의 갯수는 6개) 세 번째는 방이 19개 (안쪽을 제외하고 겉에 있는 방의 갯수는 12개) 네 번째는 방이 37개 (안쪽을 제외하고 겉에 있는 방의 갯수는 18개) 방의 갯수가 6의 배수만큼 증가하는 것을 볼 수 있습니다. 1번 방에 가려면 1개의 방을 지나면 되고, 2~7 사이에 있는 방으로 가려면 두번, 8~19 사이에 있는 방으로 가려면 세번만 이동하면 됩니다. tmp값을 1로주고, 1씩 증가하는 변수 i를 만들어 준 뒤 tmp+( 6 *.. 2019. 8. 1.
백준 알고리즘 2839번 문제 - 설탕 배달 상근이가 설탕을 배달하는 문제입니다. 최대한 5키로그램으로 채우고 나머지는 3키로로 채워주는데 정확하게 만들 수 없다면 -1을 리턴해야됩니다. ex) 24kg = 3(3) + 5(3) 2kg = -1 자바 import java .util.Scanner; public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); short N = s.nextShort(); int cnt=0; if(N%5==0) System.out.println(N/5); else if(N==4 || N==7){System.out.println(-1);} else{ while(true){ N-=3; cnt++; if(N==0).. 2019. 8. 1.
백준 알고리즘 1978 문제 풀이 - 소수 찾기 N개의 숫자를 입력받아 N개의 숫자중 소수의 갯수를 구하는 문제이다. 이전에 풀었던걸 까먹고 한번 더 풀었다 ....... 비슷비슷 하지만 두 가지 방법으로 풀어보았다. 첫번째 import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s = new Scanner(System.in); short N = s.nextShort(); boolean sosu[] = new boolean[1001]; short num,cnt=0; sosu[0] = true; sosu[1] = true; for(short i=2;i 2019. 7. 30.
백준 알고리즘 1712문제 풀이 - 손익분기점 1712번 문제(손익분기점)를 간단하게 수식으로 표현해 보면 A + B*x < C*x 이다. 문제에 손익분기점이 존재하지 않으면 -1을 출력하라고 한다. 그러면 손인분기점이 언제 존재하지 않는지 보자 ! 손익분기점이 존재하지 않는 경우는 B가 C랑 같거나 보다 클 경우이다. if (C 2019. 7. 30.