본문 바로가기

반응형

문제 풀이

(3)
문제풀이 - java 백준 9095 1,2,3 더하기 문제 11보다 작은 정수 n을 입력하여 1,2,3 가지고 더하기할 수있는 경우의 수를 구한다. 풀이 1 , 2, 3, 4, 5 까지 숫자의 경우의 수를 나열하게 되면 n이 1,2,3 은 고정값이고 n=4 일때 경우의수는 1,2,3 갯수의 합, n=5 일때는 2,3,4 갯수의 합이었다.  마치 1, 2가 고정되어있는 피보나치 수열같았다.규칙을 이해하니 코드는 쉽게 풀렸다. public class Baekjoon_9095 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] array = new int[11]; array[0] = 1; arr..
문제풀이 - java 백준 1748 수 이어쓰기 문제 요약하자면 n을 입력한후 그 n까지 1부터 적어서 총 몇개까지 나오는지 구하는거다.  풀이 n이 1의 자리면 1씩증가시킬 것이고n이 10의 자리면 2씩증가해서주어진 범위에서 최대로 갯수가 존재할 수 있음을 알았다.1~9 -> 1*9 (1이 9개)10~99 -> 2*90 (2씩 90개)100~999 -> 3*900 (3씩 900개)1000~ 9999 -> 4*9000 (4씩 9000개) 위와 같은 조건으로 다 if 문 걸을려고 했다.저번에 푼 문제에서 시간초과가 나온 경험으로 이렇게 푸는건 바로 아닌 것같다. 하나하나 나열해봤다.nnn 규칙을 찾았고 반복문을 통해 저 규칙을 반복시키려고 했다. 우선 입력받은 n이 몇자린지 구했다.10씩 나누어주고 leongth++ 변수로 몇자린지 셌다.  while(..
문제풀이 - java 백준 6064 카잉달력 문제     카잉다력은 x,y값인 년부터 시작해서 .. 식으로 해가 흐른다.최대 해가 정해져있는데 예를들어 M, N이 면 x ,y가 까지 증가하다가 M의 최대치인 10 다음부터 1로 바뀌면서 로 진행된다.문제: m, n , x, y 를 입력한 후 달력에서 인 해가 몇번째인가?? 풀이  처음 풀었을 때:m,n,x,y를 차례로 입력받고 while(true) 문으로 무한 반복을 한다.int startx, starty 변수를 0부터 시작하여 한바퀴 돌때마다 ++ 시켜주고 이 startx, starty 가 m,n 이 도달 했을 때 각각 1로 초기화 시켜주어서 1부터 세게 만들었다.그리고 처음 목표했던 x , y에 도다르면 그때의 count 변수(while문 한바퀴 돌때마다 ++ 되는) 를 출력해 주었..

반응형