1,2,3의 합으로 연속하지 않고 주어진 수를 표현하는 방법 출력하기 - 입력될 수 있는 모든 경우의 수를 저장하기 위해, 2차원 배열 d[100001][4] 로 메모이제이션을 한다. - d[i][j]는 합해서 i 가 되는 방법 중, 마지막으로 더해지는 수가 j 이다. - 즉, 합해서 i 가 되는 방법의 수는 d[i][1]+d[i][2]+d[i][3] 이다. - d[1][1], d[2][2], d[3][3]는 예외로 처리하기 위해 if(i == j)일 때는 1을 저장하도록 처리한다. - d[i][1]를 구하려면, 마지막에 더해지는 수 1을 제외하고 (i-1)에 대한 방법의 수를 구하면 된다. - 이때, 1과 연속이 되지 않기 위해 (i-1)에 대한 방법은 d[i-1][2], d[i-1][3] 두 가지만 ..
분류 전체보기
N개의 카드를 1~N개짜리 카드팩으로 고를 때 가장 싸게 사는 가격을 찾기 - 1~n개의 카드가 들어있는 카드팩의 가격을 p[1]~p[n] 배열에 저장한다. - 1~n개의 카드를 고를 때 가장 싸게 가격을 d[1]~d[n] 배열에 저장한다. - 모든 d[ ] 배열에 초기값은 최대가격을 초과한 10,001로 설정한다. - if(d[x] < 10,001)으로, 메모리제이션을 확인한다. - x개를 고를 때, x-1개를 가장 싸게 사고, 1개짜리 카드팩을 사는 경우, x-2개를 가장 싸게 사고, 2개짜리 카드팩을 사는 경우, ... 0개를 가장 싸게 사고, x개짜리 카드팩을 사는 경우까지 가격을 반복문으로 비교하며 최저 가격을 d[x]에 저장한다. import java.util.Scanner; public cl..
여러개의 수들의 GCD 총 합 구하기, 오답처리 시 int범위 초과 고려해야함. 유클리드 호제법으로 GCD를 쉽게 구할 수 있으나, 최대 입력 100개가 모두 최대 정수 1,000,000일 경우의 GCD는 49.5억으로 int범위를 벗어난다. 자바는 int의 최대 양수 범위에서 벗어난 만큼 int의 최소 음수에 더해지므로, 런타임에러가 아닌 오답처리가 된다. 즉, 오답처리가 되었다면 데이터 타입의 범위가 넘어간 경우일 수 있으니 참고한다. import java.util.Scanner; public class BOJ9613 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); whi..
BOJ1317.java 생성 - 2진수를 8진수로 바꾸는 프로그램 2진수는 뒤에서 세자리씩 끊어서 8진수로 변환한다. Character를 숫자값으로 만들기 위해 character에서 아스키코드 '0'(=48)을 뺀다. import java.util.Scanner; public class BOJ1317 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String bi=sc.nextLine(); int n=bi.length(); if(n%3==1){ System.out.print(bi.charAt(0)); } else if(n%3==2){ System.out.print((bi.charAt(0)-'0')*2 + (b..
BOJ1212.java 생성 - 8진수를 2진수로 변환하는 프로그램 출력조건에 맞게, 가장 앞자리에 0이 오지 않도록 해야한다. 가장 앞자리가 0,1,2,3일 때를 예외로 처리하고, 나머지 자리수의 결과를 배열에 미리 저장하여 그대로 출력한다. import java.util.Scanner; public class BOJ1212 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String octal=sc.nextLine(); String eight[]={"000","001","010","011","100","101","110","111"}; for(int i=0;i

밑에 완성샷이랑 보완점+깃허브 링크 있어욥 노마드코더 웹사이트에서 자바스크립트 초보자를 위한 강의를 찾았다. 저번 포스팅에도 썼지만, 그때는 강의를 완강했을 시점에 작성했다. 일단 자바스크립트를 배우려고 들었는데, 완성하고보니까 그냥 글, 사진만 띡 올라가있는 개허접한 사이트가 완성;; 차마 거슬려서 그냥 두고볼수가 없었다. 급하게 html, css 기초강의를 찾았다. 가능하면 노마드코더 사이트에서 듣고싶었지만, 무료강의가 없음 ㅠㅠ 유튜브 찾아보니 천사같은 갓개발자님의 기초강의가 있어서 열심히 봤다. "드림코딩 엘리" 님의 강의인데, 강의스타일이 엄~~~~~~~청나게 조근조근 차분하시고 굉장히 체계적이다. 심지어 프론트엔드 커리큘럼 정리해둔 노션도 있음 https://www.notion.so/277f2..