분류 전체보기
-
[JAVA] 1748번: 수 이어 쓰기1Algorithm/백준 알고리즘 2021. 7. 20. 11:39
문제 설명 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 1234567891011121314151617181920212223... 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 풀이 1. length변수를 선언하여 i가 length와 일치할 경우 length * 10을 해준다. => 2자릿수, 3자릿수.. 2. 자릿수가 증가함에 따라 자릿수당 해당 숫자가 위치해야함으로 cnt를 1증가 시켜준다. 3. 해당 자리만큼 temp에 cnt를 더해준다. 코드 /* - 1부터 N까지의 수를 이어서 쓰면 다음과 같이 ..
-
adsadsdas카테고리 없음 2021. 7. 19. 17:46
사유: 시간 초과> import java.util.*; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); StringBuilder sb = new StringBuilder(); int T = sc.nextInt(); for(int i = 0; i < T; i++){ int year = 0; int M = sc.nextInt(); int N = sc.nextInt(); int x = sc.nextInt(); int y = sc.nextInt(); while(true){ year++; if((year - M) % M == x && (year - N) % N == y ){ break; } if((y..
-
[JAVA] 1476번: 날짜 계산카테고리 없음 2021. 7. 19. 15:59
문제 설명 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) 우리가 알고있는 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1년이 지날 때마다, 세 수는 모두 1씩 증가한다. 만약, 어떤 수가 범위를 넘어가는 경우에는 1이 된다. 예를 들어, 15년은 15 15 15로 나타낼 수 있다. 하지만, 1년이 지나서 16년이 되면 16 16 16이 아니라 1 16 16이 된..
-
[JAVA] 3085번: 사탕 게임Algorithm/백준 알고리즘 2021. 7. 19. 13:49
문제 설명 상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다. 가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다. 사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N이 주어진다. (3 ≤ N ≤ 50)사탕의 색이 다른 인접한 두 칸이 존재하는 입력만 주어진다. 다음 N개 줄에는 보드에 채워져 있는 사탕의 색상이 주어진다. 빨간색은 C, 파란색은 P, 초록..
-
[JAVA] 2309번: 일곱 난쟁이Algorithm/백준 알고리즘 2021. 7. 19. 10:32
문제 설명 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 입력 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 출력 일곱 난쟁이의 키를 오름차순으로 출력한다. 일곱 난쟁이를..
-
[Spring/디자인패턴] 프록시 패턴Framework/Spring 2021. 7. 18. 22:43
프록시 패턴 프록시는 대리인이라는 의미로써, 뭔가를 대신 처리하는 것 프록시 클래스를 통해 대신 전달하는 형태로 설계되며, 실제 클라이언트는 프록시로 부터 결과를 받는다. 캐시의 기능으로도 활용이 가능하다. 프록시 패턴 예시 public interface IBrowser { Html show(); } public class Browser implements IBrowser { private String url; public Browser(String url){ this.url = url; } @Override public Html show() { System.out.println("browser loading html from:" + url); return new Html(url); } } Browser..
-
[Spring/디자인패턴] 어댑터 패턴Framework/Spring 2021. 7. 18. 22:07
어댑터 패턴 어댑터는 실생활에서 100v를 220v로 변경해주거나, 그 반대로 해주는 흔히 돼지코라고 불리는 변환기를 예로 들 수 있다. 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용할 수 있도록 한다. 어댑터 패턴 예시 public interface Electronic110V { void powerOn(); } public interface Electronic220V { void connect(); } public class HairDryer implements Electronic110V{ @Override public void powerOn() { System.out.println("헤어드라이기 110v on"); } } 헤어드라이어는 110v를 기반으로 동작한다. public class ..
-
[Spring/디자인패턴] 싱글톤 패턴Framework/Spring 2021. 7. 18. 21:42
싱글톤 패턴 싱글톤 패턴은 어떠한 클래스(객체)가 유일하게 1개만 존재할 때 사용한다. 이를 주로 사용하는 곳은 서로 자원을 공유할 때 사용하는데, 실물 세계에서는 프린터가 해당되며 실제 프로그래밍에서는 TCP Socket통신에서 서버와 연결된 connect객체에 주로 사용된다. 싱글톤 패턴 예제 public class SocketClient { private static SocketClient socketClient = null; private SocketClient(){ } public static SocketClient getInstance(){ if(socketClient == null){ socketClient = new SocketClient(); } return socketClient; } ..