전체 글 보기
[Python] 백준(BOJ) 2232번 분해합 (부르트포스)
문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 216 예제 출력 1 198 코드 n = int(input()) a = 0 f..
[Python] 백준(BOJ) 2798번 블랙잭 (브루트포스)
2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후..
[Python] 백준(BOJ) 11729번 하노이 탑 이동 순서 (재귀)
11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 ..
[Java] java.time 패키지
Java SE 8부터 지원하는 새롭게 재 디자인한 패키지 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Month; LocalDateTime timePoint = LocalDateTime.now(); LocalDate ld = LocalDate.of(2022, Month.MAY, 10); LocalTime lt1 = LocalTime.of(15, 50); LocalTime lt2 = LocalTime.parse("13:10:30"); System.out.println(timePoint); System.out.println(ld); System.out.println(..
[Java] Calendar
Date의 단점을 해결하기 위해 나온 클래스 import java.util.Calendar; Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)+1); // 1월 ~ 12월이 0 ~ 11로 표현된다 System.out.println(cal.get(Calendar.DATE)); System.out.println(cal.get(Calendar.HOUR)); System.out.println(cal.get(Calendar.HOUR_OF_DAY)); System.out.println(cal.get(Calendar.MINUTE)); Syste..
[Java] Date
Date는 지역화에 대한 부분이 고려되지 않았다 지역화 : 지역에 따라 시간, 통화(원, 달러, 엔 등), 언어 등을 고려하는 프로그래밍 import java.text.SimpleDateFormat; import java.util.Date; Date date = new Date(); System.out.println(date); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd 'at' hh:mm:ss a zzz"); System.out.println(ft.format(date)); System.out.println(date.getTime()); // date.getTime() == System.currentTimeMillis() 출력값 Wed Jan 26..
[Java] Map
Map : Key와 Value를 쌍으로 저장하는 자료구조 ( Key는 중복 불가, Value는 중복 가능 ) - HashMap import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class mapExam { public static void main(String[] args) { Map map = new HashMap(); map.put("001", "kim"); map.put("002", "lee"); map.put("003", "park"); map.put("001", "choi"); System.out.println(map.size()); System.out.prin..
[Java] List
List : 중복을 허용하고 순서를 기억하는 자료구조 - ArrayList import java.util.ArrayList; import java.util.List; public class ListExam { public static void main(String[] args) { List list = new ArrayList(); list.add("kim"); list.add("lee"); list.add("kim"); System.out.println(list.size()); for(int i = 0; i < list.size(); i++){ // for each 문으로도 출력 가능 String str = list.get(i); System.out.println(str); } } } 3 kim lee..